test_cdma_tx

space_escalator @ ウィキ内検索 / 「test_cdma_tx」で検索した結果

検索 :
  • test_cdma_tx
    ... ソースコード test_cdma_tx.py spreading_dbpsk.py
  • test_cdma_tx.py
    #!/usr/bin/env python from gnuradio import gr, gru, modulation_utils, howto from gnuradio import usrp, usrp2 from gnuradio import eng_notation from gnuradio.eng_option import eng_option from optparse import OptionParser from pick_bitrate import pick_tx_bitrate import spreading_dbpsk import random, time, struct, sys, copy import usrp_options # from current dir import usrp_transmit_path #import os...
  • GNU Radio
    ...ambler_bb test_cdma_tx.py test_cdma_rx.py C++サンプルコード howto_interp_scrambler_cc howto_interp_gscrambler_cc gr_pn_correlator_ccの調査 howto_decim_gdescrambler_cc howto_correlation_sink_c howto_signal_adder_cc 課題と検討 拡散について USRP2の設定 RRCフィルタについて チップ同期について 符号 実はCDMAできてなかった!?急いでデバッグ! gmskについて bpskの実現に向けて USRP2送信波形の歪み USRP210 オシロスコープ ついに1対1のCDMAが動いた。。 そして終焉へ。。 参考 通信システムのディジタル変調 入門
  • USRP2の設定
    ...e "./test_cdma_tx.py", line 174, in module main() File "./test_cdma_tx.py", line 162, in main tb = my_top_block(mods[options.modulation], options) File "./test_cdma_tx.py", line 74, in __init__ self._setup_usrp_sink(options) File "./test_cdma_tx.py", line 116, in _setup_usrp_sink raise ValueError, eng_notation.num_to_str(options.tx...
  • test_cdma_rx
    CDMAの受信機を構築する。 print機能を標準出力させると負荷が重くうまく復号できないので、 リダイレクトでファイルに出力させてやる。 送受1対1の受信結果 M系列 by glfsr (系列長15) in[22]=0.000000, out[22]=0.000000 in[23]=0.000000, out[23]=0.000000 in[24]=0.000000, out[24]=0.000000 in[25]=1.000000, out[25]=1.000000 in[26]=1.000000, out[26]=1.000000 //↑ここまでは誤り //ここからはちゃんと復号できている! in[27]=0.000000, out[27]=0.000000 in[28]=0.000000, out[28]=0.000000 in[29]=0.000000, out[29...
  • test_cdma_rx.py
    #!/usr/bin/env python from gnuradio import gr, gru, modulation_utils, blks2, howto from gnuradio import usrp from gnuradio import eng_notation from gnuradio.eng_option import eng_option from optparse import OptionParser from pick_bitrate import pick_rx_bitrate import spreading_dbpsk import usrp_options import random import struct import sys # from current dir import usrp_receive_path #import os...
  • 拡散について
    dbpskにおいて拡散は有効なのか? シミュレーションではbpskを用いるため、拡散は実数値のみを用いており、虚数値に関する拡散は行っていない。 しかし、dbpskで変調された信号には虚数軸にも情報を含むため、虚数部も拡散してやらないといけない! 以下、実部及び虚部を拡散させてCDMAのシミュレーションをした結果 入力信号1 = (3.0-1.0j, -2.0+1.0j, 1.0+3.0j) 入力信号2 = (2.0-3.0j, -1.0+2.0j, 2.0+1.0j) をそれぞれ系列長15と31のM系列で掛け合わせて足した信号を、入力信号1に対する逆拡散を行った結果。 root@omori-desktop /usr/share/gnuradio/examples/digital# python ./test_cdma_sim.py noutput_items = 2 i...
  • cdma
    Code Division Multiple Access(CDMA) CDMAとは 日本語で「符号分割多元接続方式」(複数ユーザに対する多元接続方法であり、同じ周波数帯域を用いて同時に通信が行える。) CDMAでは、ユーザごとに分離特性(直交性)の優れた符号を個別に割り当てることにより実現する。 メリット 他の多元接続方法と比べたメリットとして、同一周波数を用いたセルの面的配置が可能なので、周波数利用効率の面で優れている。 スペクトル拡散(SS Spread Spectrum)方式 情報信号系列に符号系列を掛け合わせることで、送信信号を広帯域な低電力密度の信号に変換する。 受信側では同じ符号系列を用いて逆拡散することにより、もとの情報信号を抽出する。 この逆拡散により、帯域内に発生するインパルス上の雑音や、多重反射波干渉(マルチパスフェージング)を除去できる。 ...
  • ついに1対1のCDMAが動いた。。
    動いた。。 なぜ動いたか GNURadio4.Xでアップデートされたクロックリカバリー回路を用いたらBERがほぼ0に(全ビットが反転してしまう場合を除く)。 マルチユーザはだめ? やった!これで論文書ける!と意気込み さて次はマルチユーザだ!とすぐさまやったが、うまく動かない。 信号が衝突してしまうせいか、全然同期がとれない。→無線で試したがやはりだめ。。 マルチユーザへの挑戦 なぜ動かないのか? 以下はoscilloscopeでキャプチャした画像だが、キャリア周波数がベースバンドよりもなぜか小さく(?)、 マルチユーザにしたときに減衰部分がかき消されてしまう。→検討違い。 このキャプチャによると、キャリアらしきものは1kHzくらい。 CDMAチップレートは97.5kchip/sec(=195sample/sec÷2sample/symbol)くらい。(つ...
  • カオスCDMA
    CDMAはユーザごとに割り当てられた拡散コードにより各ユーザの信号を識別する。 効率よく通信路を分割するために相互相関が小さいことが求められている。 通常のCDMAと異なり、多値のカオスコードで拡散を行う。
  • benchmark_tx.py
    パケット送信プログラムのサンプルコード。 受信に成功しやすいパラメータの例) ./benchmark_tx.py -f 2.45G -m dbpsk -s 10 -r 64k ペイロードデータ デフォルトではパケット番号+パケット番号下位1バイトのペイロードが作られる。 Pythonではバイト列を文字列として扱う data = (pkt_size - 2) * chr(pktno 0xff) #chr()は引数に対応するascii文字を返す。これを指定パケットサイズ-2個繋げてdataに格納。 payload = struct.pack( !H , pktno 0xffff) + data #パケット番号の下位2バイト(複数バイトなのでネットワークバイトオーダーを指定)とdataを繋げてpayload完成。 send_pkt(payload) パケットの作成:mod...
  • test_decim_gdescrambler_cc.py
    from gnuradio import gr, howto class my_top_block(gr.top_block) def __init__(self) gr.top_block.__init__(self) #interpolation = 31 #mask = 0 #seed = 1; #reg_len = 4 #x^5 + x^3 + x^0 = 41 ,ntaps = 31 interpolation = 15 mask = 0 seed = 2 degree = 4 #2^4 + 2^3 + 2^0 = 25 ,ntaps = 15 scrambler = how...
  • howto_scrambler_cc
    PN系列で直接拡散させるブロックを作る。入力対出力レートは1:N(Nは拡散符号の周期) まず、拡散符号を取り扱うクラスを調べる。 gr_lfsr.h フィボナッチ線形帰還シフトレジスタで多項式マスクを指定することで、拡散符号を生成する。 詳細 コンストラクタ gri_lfsr(int mask, int seed, int reg_len); mask 次の次数のビットを作る(シフトする)ときに、帰還をかけるタップの場所を指定する多項式の係数。そこはxor演算される。例えば以下のようなマスクがある。 x^4 + x^3 + x^0 = 0x19 (周期 15) x^5 + x^3 + x^0 = 0x29 (周期 31) x^6 + x^5 + x^0 = 0x61 (周期 63) seed...
  • 実はCDMAできてなかった!?急いでデバッグ!
    以下送信側のscrambler後の出力。送信ビット列は(1,1,1)の繰り返し。 dac_rate= 100M samples/symbol= 2 Requested TX Bitrate 100k Actual Bitrate 100k interp_rates= 500 noutput_items = 4096 in[0]=-1+1.22461e-16j, out[0]=-1+1.22461e-16j in[1]=1+-1.22461e-16j, out[1]=1+-1.22461e-16j in[2]=1+-1.22461e-16j, out[2]=1+-1.22461e-16j in[3]=1+-1.22461e-16j, out[3]=1+-1.22461e-16j in[4]=-1+1.22461e-16j, out[4]=-1+1.22461e-16j in[5]=-1+...
  • benchmark_rx.py
    フロー Source → LPF → dbpsk demodulator → descrambler → access code correlator → Sink usrpソースの作成 self.u = usrp_options.create_usrp_source(options) self.u.set_decim(self._decim) options.bitrate, self._demod_class.bits_per_symbol(), options.samples_per_symbol, options.decim, adc_rate, から最適なdecimationを決定した後、この関数でそれをセットする。 LPFの作成 self.channel_filter = gr.fft_filter_ccc(sw_decim, chan_coeffs...
  • SignalProcessingブロックの作成:C++
    Pythonとの切り分けは? From the Python point of view, GNU Radio provides a data flow abstraction. パイソンはデータフロウの概要を提供する。 From the high level point-of-view, infinite streams of data flow through the ports. At the C++ level, streams are dealt with in convenient sized pieces, represented as contiguous arrays of the underlying type. C++ブロックは潜在に潜む配列によって切り分けられたストリームが扱われる。 3つのファイルが必要 xxx.h, xxx.cc #新しいクラスを定義...
  • spreading_dbpsk.py
    """ differential BPSK modulation and demodulation. """ from gnuradio import gr, gru, modulation_utils, howto from math import pi, sqrt import psk import cmath from pprint import pprint # default values (used in __init__ and add_options) _def_samples_per_symbol = 2 _def_excess_bw = 0.35 _def_gray_code = True _def_verbose = False _def_log = False _def_costas_alpha = ...
  • gr-howto-write-a-blockでコンパイル戦記
    gr-how-to-write-a-blockをこの通りにやったけど、 howtoモジュールをimportすると以下のようなエラーがでる。 Traceback (most recent call last) File " stdin ", line 1, in module File "howto.py", line 6, in module import _howto ImportError ./_howto.so undefined symbol _Z19howto_make_print_ffv howto_make_print_ffのライブラリオブジェクトである、_howto_la-print_ff.loが生成されていないので、 おそらくリンクに失敗している。 Makefile.amの変更(how...
  • gr_mpsk_receiver()
    まずはworkの部分 int gr_mpsk_receiver_cc general_work (int noutput_items, gr_vector_int ninput_items, gr_vector_const_void_star input_items, gr_vector_void_star output_items) { const gr_complex *in = (const gr_complex *) input_items[0]; gr_complex *out = (gr_complex *) output_items[0]; int i=0, o=0; while((o noutput_items) (i ninput_items[0])) { while((d_mu 1) (...
  • howto_decim_gdescrambler_cc
    M系列を使った直接逆拡散ブロックを作る。 基本的にgr_pn_correlator_ccをいじって作った。 usage descrambler = howto.decim_gdescrambler_cc(degree, mask, seed) 実行結果 src_data = (3.0+1.0j, -1.0+1.0j, 1.0+3.0j) noutput_items = 2 in[0]=3+1j, out[0]=3+1j in[1]=-1+1j, out[1]=-1+1j noutput_items = 1 in[0]=1+3j, out[0]=1+3j ソースコード howto_decim_gdescrambler_cc.h howto_decim_gdescrambler_cc.cc test_decim_gdescrambler_cc.py
  • howto_correlation_sink_c.h
    #ifndef INCLUDED_HOWTO_CORRELATION_SINK_C_H #define INCLUDED_HOWTO_CORRELATION_SINK_C_H #include gr_sync_decimator.h class howto_correlation_sink_c; typedef boost shared_ptr howto_correlation_sink_c howto_correlation_sink_c_sptr; howto_correlation_sink_c_sptr howto_make_correlation_sink_c (unsigned decimation, int vlen = 1); /*! * \brief gr_complex sink that writes to a vector * \ingrou...
  • RCCフィルタについて
    一次変調信号を拡散させた信号を伝送する際に、最適にRCCフィルタを設定しなければならない。 指定された帯域内で信号を送信するため、パルス整形フィルタでデータビットが成形される。 その信号はキャリア変調部と無線周波数(RF)変換部を通過してアンテナを通して空気中に送信される。 (参考資料 altera,fujitsu,慶応) W-CDMAではチャネライゼーションとスクランブルという拡散が行われており、 前者が同セル内でユーザ間を識別したり、マルチコード伝送(1ユーザが複数チャネルを使うこと?)を実現するのに使われている。 後者はセル間の識別に用いられている。 一般的にはチャネライゼーションに直行符号、スクランブルにGold符号が用いられている。 alteraの仕様書ではどちらの拡散もQPSK変調する前に行っている。 一方fujitsuの仕様書ではチャネライゼーションをQPS...
  • gr_pn_correlator_ccの調査
    pn系列で直接逆拡散するブロックを作る gr_pn_correlator_cc.h #ifndef INCLUDED_GR_PN_CORRELATOR_CC_H #define INCLUDED_GR_PN_CORRELATOR_CC_H #include gr_sync_decimator.h #include gri_glfsr.h class gr_pn_correlator_cc; typedef boost shared_ptr gr_pn_correlator_cc gr_pn_correlator_cc_sptr; gr_pn_correlator_cc_sptr gr_make_pn_correlator_cc(int degree, int mask=0, int seed=1); /*! * \brief PN code sequential ...
  • USRP210
    USRP210の導入 経緯 USRP2はなぜか動作が不安定なため、USRP210を購入。 早速実験を開始しようとしたが、ななんと今までの環境(GNURadio3.2.2-1、Ubuntu9.04)では動かない。 USRP210はUHDドライバを採用していて、それに対応したAPIはGNURadio3.4以降。ソースはこれ。 しかもLatestバージョン(3.4は2011.09くらいにリリース)はバイナリパッケージはないから面倒。。 build-gnuradioを使ってもエラーで進まなかった。。 今後 もはやUbuntu9.04にこだわる必要はなくなった。(面倒だった/etc/apt/sources.listの設定もしなくて済む。) とりま、UHD及びGNURadio3.4.1を最新LinuxディストリビューションにインストールしてUSRP210を使ったサンプルプログラムを動...
  • gmskについて
    gmsk.py 送信側 Gnuradioで用意されているgmskは以下のフローで構成される。 self.connect(self, self.nrz, self.gaussian_filter, self.fmmod, self) それぞれのノードのパラメータは以下のように設定されている。 ntaps = 4 * samples_per_symbol# up to 3 bits in filter at once sensitivity = (pi / 2) / samples_per_symbol# phase change per bit = pi / 2 # Turn it into NRZ data. self.nrz = gr.bytes_to_syms()//NRZ信号に変換 # Form Gaussian filter # Generate Gaussia...
  • howto_interp_scrambler_cc.h
    /*! * Scramble an input stream using an LFSR. This block works on the LSB only * of the input data stream, i.e., on an "unpacked binary" stream, and * produces the same format on its output. * \interpolation 拡散符号の周期 * \param mask Polynomial mask for LFSR * \param seed Initial shift register contents * \param len Shift register length * * \ingroup coding_blk */ ...
  • howto_decim_gdescrambler_cc.cc
    #ifdef HAVE_CONFIG_H #include "config.h" #endif #include howto_decim_gdescrambler_cc.h #include gr_io_signature.h #include math.h howto_decim_gdescrambler_cc_sptr howto_make_decim_gdescrambler_cc(int degree, int mask, int seed) { return howto_decim_gdescrambler_cc_sptr (new howto_decim_gdescrambler_cc(degree, mask, seed)); } howto_decim_gdescrambler_cc howto_decim_gdescramble...
  • howto_decim_gdescrambler_cc.h
    #ifndef INCLUDED_HOWTO_DECIM_GDESCRAMBLER_CC_H #define INCLUDED_HOWTO_DECIM_GDESCRAMBLER_CC_H #include gr_sync_decimator.h #include gri_glfsr.h class howto_decim_gdescrambler_cc; typedef boost shared_ptr howto_decim_gdescrambler_cc howto_decim_gdescrambler_cc_sptr; howto_decim_gdescrambler_cc_sptr howto_make_decim_gdescrambler_cc(int degree, int mask=0, int seed=1); /*! * \brief PN code ...
  • howto_interp_scrambler_cc.cc
    /* -*- c++ -*- */ /* * Copyright 2004 Free Software Foundation, Inc. * * This file is part of GNU Radio * * GNU Radio is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3, or (at your option) * any later version. * * GNU Radio is distributed in the hope that it wi...
  • 非線形ダイナミクス
    はじめに 非線形ダイナミクスとは? 自然界のあらゆる現象は非線形的なふるまいを行う。 非線形ダイナミクスとはそのような動的で複雑な振る舞いをいい、これを解析することで様々なことに応用を行うことが可能となる。 カオス理論の情報通信への応用 CSMAにおけるバックオフ時間に注目。 現在ランダムアクセス方式を採用しているが、これをカオスにしてやるとなぜか性能がよくなる。 カオスCDMA カオス カオスの初期値鋭敏性を示した図。 赤の線は初期値が0.16の場合で緑の線は初期値が0.160000000001の場合を示している。 最初はほとんど同じ振る舞いをしているのに後は全く違う振る舞いをしている。 これはわずかな誤差がだんだん大きくなる(バタフライ効果)カオスの性質を示している。 CDMA 拡散符号 カオス同期 カオスCDMA OFDMA ディジタル変調 ディジ...
  • フローグラフの作成:Python
    ブロック間の情報は得られない サンプリングレートは各ブロックで指定する必要がある Gnuradio Tutorialより「GNU Radio cannot guess the correct sampling rate from the context, as it is not part of the information flow between blocks.」 digital_tone.pyより 13 src0 = gr.sig_source_f (sample_rate, gr.GR_SIN_WAVE, 350, ampl)#ちゃんと各ブロックでsample_rateを指定している 14 src1 = gr.sig_source_f (sample_rate, gr.GR_SIN_WAVE, 440, ampl) 15 d...
  • gr.diff_phasor_cc
    #ifdef HAVE_CONFIG_H #include "config.h" #endif #include gr_diff_phasor_cc.h #include gr_io_signature.h gr_diff_phasor_cc_sptr gr_make_diff_phasor_cc () { return gr_diff_phasor_cc_sptr (new gr_diff_phasor_cc()); } gr_diff_phasor_cc gr_diff_phasor_cc () gr_sync_block ("diff_phasor_cc", gr_make_io_signature (1, 1, sizeof (gr_complex)), ...
  • howto_interp_gscrambler_cc.h
    #ifndef INCLUDED_HOWTO_INTERP_GSCRAMBLER_CC_H #define INCLUDED_HOWTO_INTERP_GSCRAMBLER_CC_H #include gr_sync_interpolator.h #include "gri_glfsr.h" class howto_interp_gscrambler_cc; typedef boost shared_ptr howto_interp_gscrambler_cc howto_interp_gscrambler_cc_sptr; howto_interp_gscrambler_cc_sptr howto_make_interp_gscrambler_cc (unsigned interpolation, int mask, int seed, int len);...
  • gr_constellation_decoder_bc
    int gr_constellation_decoder_cb work(int noutput_items, gr_vector_const_void_star input_items, gr_vector_void_star output_items) { gr_complex const *in = (const gr_complex *) input_items[0]; unsigned char *out = (unsigned char *) output_items[0]; unsigned int table_size = d_sym_value_out.size(); unsigned int min_index = 0; f...
  • howto_interp_gscrambler_cc.cc
    #ifdef HAVE_CONFIG_H #include "config.h" #endif #include howto_interp_gscrambler_cc.h #include gr_io_signature.h #include stdexcept #include iostream howto_interp_gscrambler_cc_sptr howto_make_interp_gscrambler_cc (unsigned interpolation, int degree, int mask, int seed) { return howto_interp_gscrambler_cc_sptr (new howto_interp_gscrambler_cc (interpolation, degree, mask, seed...
  • howto_correlation_sink_c.cc
    #ifdef HAVE_CONFIG_H #include config.h #endif #include howto_correlation_sink_c.h #include algorithm #include gr_io_signature.h static const int MIN_IN = 1;// mininum number of input streams static const int MAX_IN = -1;// maximum number of input streams static const int MIN_OUT = 1; static const int MAX_OUT = -1; howto_correlation_sink_c howto_correlation_sink_c (unsigned decimation, ...
  • howto_signal_adder_cc.cc
    #ifdef HAVE_CONFIG_H #include config.h #endif #include howto_signal_adder_cc.h #include algorithm #include gr_io_signature.h static const int MIN_IN = 1;// mininum number of input streams static const int MAX_IN = -1;// maximum number of input streams static const int MIN_OUT = 1; static const int MAX_OUT = -1; howto_signal_adder_cc howto_signal_adder_cc (int vlen) gr_sync_block (&q...
  • howto_signal_adder_cc.h
    #ifndef INCLUDED_HOWTO_SIGNAL_ADDER_CC_H #define INCLUDED_HOWTO_SIGNAL_ADDER_CC_H #include gr_sync_block.h class howto_signal_adder_cc; typedef boost shared_ptr howto_signal_adder_cc howto_signal_adder_cc_sptr; howto_signal_adder_cc_sptr howto_make_signal_adder_cc (int vlen = 1); class howto_signal_adder_cc public gr_sync_block { friend howto_signal_adder_cc_sptr howto_make_signal_adde...
  • gri_float_lfsr.h
    /* -*- c++ -*- */ //This is original code for Gnuradio #ifndef INCLUDED_GRI_FLOAT_LFSR_H #define INCLUDED_GRI_FLOAT_LFSR_H #include stdexcept #include stdint.h /* #include bitset #include iostream */ /*! * \brief Fibonacci Linear Feedback Shift Register using specified polynomial mask * \ingroup misc * * Generates a maximal length pseudo-random sequence of length 2^degree-1 * * C...
  • libpqを使ったサンプル
    接続できない場合 "stdafx.h" stdio.h stdlib.h string.h "libpq-fe.h" static void exit_nicely(PGconn *conn) { PQfinish(conn); exit(1); } int _tmain(int argc, _TCHAR* argv[]) { const char *conninfo; PGconn *conn; PGresult *res; int nFields, nrows; int i, j; char buff[1024]; /* データベースとの接続を確立する *...
  • howto_correlation_sink_c
    入力端子が二つあるブロックを作る。 後々必要となるであろう2つの入力信号の相互相関を標準出力するブロックを作成する。 usage howto.correlation_sink_c(int interpolation) interpolationには周期を指定する。 ※2入力のブロックにはなったが、名前のとおりのsinkにできなかった(おそらくdecimatorの継承ではだめ?)のでひとまず、correlation_sink_cfとして使ってみる。。 実行結果(howto_print_ffの出力結果) 入力信号1 = (3.0+1.0j, -1.0+1.0j, 3.0+3.0j) 入力信号2 = (2.9+3.0j, -1.0+2.0j, 3.0+1.0j) noutput_items = 1 in[0]=0.999760, out[0]=0.999760 ソ...
  • リモートデバッグ設定の苦難
    恐ろしきpydevd pydevd.pyとはリモートデバッグサーバ機能を有するpythonモジュール。 これを動かすのは超簡単。 しかし、リモートのクライアントからこのサーバに向けたtcp通信を確立するのが超大変だった。 まず、forwardingはクライアントからサーバに向けてやらなければならないことに気付かなかった。。 気づいてもそのあとが大変。。 リモートクライアントがubuntuなのだが、なぜかサーバにフォワードされているゲートウェイの5678ポートにtcpが確立できない。。orz [root@remotehost]telnet ゲートウェイIP 5678 [root@remotehost]telnet localhost 5678 としてもconnection refusedされてしまうのである。 dportが5678のものは遮断されてしまうのかと推測してu...
  • そして終焉へ。。
    マルチユーザが動いた なぜできたのか? 複素拡散にした まず、複素拡散・逆拡散にして、その前後に位相差分変調を挿入。 位相差分変調にした理由 通信路で結構フェージングがあるせか、相関器が出力する値が虚部に結構いっていた。 シングルユーザだとほぼBER=20% だけどマルチユーザだと25%%くらい BERを下げる historyが設定されてなかった! On Tue, Dec 22, 2009 at 12 22 29PM +0800, zhi yan wrote Hi All, I am confused of the Set_history() which is a function of gr_block, what is the function of this function? thanks~~ It exists so t...
  • howto_signal_adder_cc
    2つの入力信号を足し合わせて、出力するブロックを作る。 usage howto.signal_adder_cc() 出力結果 入力信号1 = (3.0+1.0j, -1.0+1.0j, 1.0+3.0j) 入力信号2 = (2.0+3.0j, -1.0+2.0j, 2.0+1.0j) noutput_items = 2 in[0]=5+4j, out[0]=5+4j in[1]=-2+3j, out[1]=-2+3j noutput_items = 1 in[0]=3+4j, out[0]=3+4j ソースコード howto_signal_adder_cc.h howto_signal_adder_cc.cc
  • 追加したIntelのNICが動かない件
    追加したIntelのNICが動かない件 driver名 e1000e Network Adapter Driver for PCI-​​E Gigabit Network Connections under Linux* dl元 Intelドライバに関するサポート 以下の通りにやったらできた(source) ドライバ CD の Linux/Source/base_driver/e1000e- x.x.x tar.gz からベース ドライバの tar ファイルを選択したディレクトリにコピーします。 x.x.x は、ドライバの tar ファイルのバージョン番号です。 たとえば、 /home/username/e1000e または /usr/local/src/e1000e などが使用できます。 アーカイブを解凍します。( x.x.x は、ドライバ tar のバー...
  • howto_interp_gscrambler_cc
    ガロアLFSRを使った直接拡散ブロックを作る! 使い方:howto_interp_gscrambler_cc(interpolation, degree, mask=0, seed) 以下に結果を表示 。入力パラメータが interpolation = 15 degree = 4 mask = 0 #こいつを0にしとけば勝手に2^(degree)-1の長さ(最大長)のM系列を発生させてくれる seed = 2 で、入力信号が1+jの場合 in[0]=-1+-1j, out[0]=-1+-1j in[1]=1+1j, out[1]=1+1j in[2]=1+1j, out[2]=1+1j in[3]=1+1j, out[3]=1+1j in[4]=1+1j, out[4]=1+1j in[5]=-1+-1j, out[5]=-1+-1j in[6]=1+...
  • 直交周波数分割多元接続(OFDMA)
    次世代PHS規格であるXGPや次世代携帯電話のLTE、高速無線WiMAXで採用されている。 マルチキャリア変調 1つのキャリアを複数の直行したサブキャリアに分けて変調して多重化して送る。 直行性を崩す原因は 周波数オフセット(frequency offset) タイミングジッタ(timing jitter)
  • DNSサーバも追加
    LAN内DNS LAN内のGnuradio端末がネットに繋がるために必要。 ルータだとDNSなくてもいいものがあるが、ゲートウェイサーバを立てるとDNSがLAN内に必要になるみたい。 Bindの設定 キャッシュサーバの設定(named.conf) LAN内DNSでurlによるインターネットアクセスのみがしたいなら(つまりキャッシュサーバのみなら)以下の編集で十分。 acl localnet{ 192.168.0.0/24; 127.0.0.1; }; options { listen-on port 53 { 127.0.0.1; 192.168.0.0/24 }; listen-on-v6 port 53 { 1; }; directory "/var/named"; d...
  • Gnuradio開発
    開発環境整備 Eclipse Eclipseを使ってWindows上でリモートデバッグする。 プラグイン pydev リモートデバッグ設定の苦難 RemoteSystemExplorer リモートホストのポートを開放する(4035,10000-10010)。 dstore サーバーが必要で、dstore daemonをリモートホストで走らせる必要がある。 このときnohup ./daemon.pl 4035 10000というようにデーモンのポートとクライアントに割り振るポートを指定し、クライアント側でも4035でRSEを起動する必要がある。 /etc/rc.local (/etc/rc.d/rc.local)システム起動時の最後に読み込まれるファイル。OSの起動直後に何かさせたい事があれば、ここに書いておくと良い。 ※sshでポートフォワードすれば、間にあるゲートウェ...
  • gr_scrambler_bb
    gr_make_scrambler_bb(int mask, int seed, int len) Detailed Description Scramble an input stream using an LFSR. This block works on the LSB only of the input data stream, i.e., on an "unpacked binary" stream, and produces the same format on its output. 線形帰還シフトレジスタによるスクランブルを行う。 このブロックは入力ストリームのLSBのみに対して動作する。 つまり、アンパックなビットストリームに対して行うものである。 さらに、同じフォーマットで出力する。 gr_make_descrambler_bb(i...
  • @wiki全体から「test_cdma_tx」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索