我是靠谱客的博主 体贴向日葵,最近开发中收集的这篇文章主要介绍第三章 pro1 QPSK调制与解调,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Q:实际工程应用发射端调制容易理解,接收端解调一般采用LLR(对数似然比)软解调办法。

      具体算法推导过程可参加网上资源,最后一般采用优化后LLR形式做代码实现。

 

仿真思路:

step1:生成随机bit作为待调制信号sig

step2:将sig经QPSK调制

step3:调制后信号过awgn信道,改变snr,观察过信道后信号变化

step4:接收端QPSK解调,计算误码率

备注:源程序略做修改,只是观察中间信号变化

%% Constants
FRM=2048;
MaxNumErrs=200;MaxNumBits=1e7;
EbNo_vector=0:10;BER_vector=zeros(size(EbNo_vector));
%% Initializations
Modulator      = comm.QPSKModulator('BitInput',true);
AWGN             = comm.AWGNChannel;
DeModulator =  comm.QPSKDemodulator('BitOutput',true);
BitError           = comm.ErrorRate;
%% Outer Loop computing Bit-error rate as a function of EbNo
for EbNo = EbNo_vector
    snr = EbNo + 10*log10(2);
    AWGN.EbNo=10;
    numErrs = 0; numBits = 0;results=zeros(3,1);
    %% Inner loop modeling transmitter, channel model and receiver for each EbNo
%     while ((numErrs < MaxNumErrs) && (numBits < MaxNumBits))  
        % Transmitter
        u             = randi([0 1], FRM,1);                  % Generate random bits
        mod_sig = step(Modulator,   u);                % QPSK Modulator

        scatterplot(mod_sig); 
        % Channel
        rx_sig  = step(AWGN,        mod_sig);        % AWGN channel
%         rx_sig = awgn(mod_sig,20,'measured');
        % Receiver

        scatterplot(rx_sig); 
        y =       step(DeModulator, rx_sig);           % QPSK Demodulator
        results = step(BitError,    u, y);                  % Update BER
        numErrs = results(2);
        numBits = results(3);
%     end
    % Compute BER
    ber = results(1); bits= results(3);
    %% Clean up & collect results
    reset(BitError);
    BER_vector(EbNo+1)=ber;
end
%% Visualize results
EbNoLin = 10.^(EbNo_vector/10);  
theoretical_results = 0.5*erfc(sqrt(EbNoLin));
semilogy(EbNo_vector, BER_vector)
grid;title('BER vs. EbNo - QPSK modulation');
xlabel('Eb/No (dB)');ylabel('BER');hold;
semilogy(EbNo_vector,theoretical_results,'dr');hold;
legend('Simulation','Theoretical');

下图:左边snr = 10db,过信道后的星座图,右图snr = 20db,过信道后的调制信号 

最后

以上就是体贴向日葵为你收集整理的第三章 pro1 QPSK调制与解调的全部内容,希望文章能够帮你解决第三章 pro1 QPSK调制与解调所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部