testsystem.m

来自「simulation module for visual wireless se」· M 代码 · 共 42 行

M
42
字号
clear;numSamplesPerSymbol = 4;BitRate = 48600;BaudRate = BitRate/2;SymbolDuration = 1/BaudRate;SamplingFrequency = numSamplesPerSymbol*BaudRate;Alpha = 0.25;nIters = 10;
LogEbNo = [0 1 2 3 4 5];lenSim = length(LogEbNo);% <-- Complete the filter construction part first -->hTransmitFilter = ones(1,numSamplesPerSymbol);
hReceiveFilter = hTransmitFilter;% <-- System test begins -->for EbNoIndex = 1:lenSim   for iters = 1:nIters      BitStreamLength = 4000;      BitStream = randn(1,BitStreamLength)>0.5;      [BitStreamOne, BitStreamTwo] = SerialToParallel(BitStream);      [I_SymbolsTx, Q_SymbolsTx] = DQPSKEncoder(BitStreamOne, BitStreamTwo);      [I_WaveformTx, Q_WaveformTx] = TransmitFilter(I_SymbolsTx, Q_SymbolsTx, hTransmitFilter, numSamplesPerSymbol);      EbNo = 10^(LogEbNo(EbNoIndex)/10);      Eb1 = sum(I_WaveformTx.*I_WaveformTx)/(BitStreamLength);      Eb2 = sum(Q_WaveformTx.*Q_WaveformTx)/(BitStreamLength);      No = (Eb1+Eb2)/EbNo;
      [I_WaveformRx,Q_WaveformRx] = AWGNChannel(I_WaveformTx,Q_WaveformTx,No);      [I_SymbolsRx,Q_SymbolsRx] = ReceiveFilter(I_WaveformRx,Q_WaveformRx,hReceiveFilter,numSamplesPerSymbol);      [BitStreamOneRx,BitStreamTwoRx] = DQPSKDecoder(I_SymbolsRx,Q_SymbolsRx);      BitStreamRx = ParallelToSerial(BitStreamOneRx,BitStreamTwoRx);      Errors = sum(BitStream~=BitStreamRx);      BER(iters) = Errors/BitStreamLength;   end   AvBER(EbNoIndex) = sum(BER)/nItersendsemilogy(LogEbNo,AvBER);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?