MATLAB QPSK调制代码
生活随笔
收集整理的這篇文章主要介紹了
MATLAB QPSK调制代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QPSK調制MATLAB代碼
main.m
main.m。
send = round(rand(1,20)); %生成1行20列 f=100; symbolsModulation=QPSKMudulation(send,f);QPSKMudulation.m
function [symbolsModulation] = QPSKMudulation(send,f)Len = 10;M = 4 ; %qpsk m=4 bitsPerSymbol = log2(M) ; % log2(M)為2bitsTotal = bitsPerSymbol * Len ; %QPSK一共20個數據 Qpsk = [-1-1i; -1+1i; 1-1i; 1+1i] * sqrt(1/2); %QPSK符號sendReshape = reshape(send, bitsPerSymbol, Len); % 2x10Loop = 1;symbols = zeros(Loop,Len); %生成2*10的零矩陣symbolsModulation = zeros(Loop,Len);for sendLoop = 1:LentwoBits = sendReshape( 2* Loop-1 :2* Loop, sendLoop);symbols(sendLoop) = 2 * twoBits(1) + 1 * twoBits(2) +1 ; %symbolsModulation(sendLoop) = Qpsk(symbols(sendLoop));endfor i=1:length(symbols)t=i-1:0.01:i;if(symbols(i)==1)s1=0;endif(symbols(i)==2)s1=1;endif(symbols(i)==3)s1=0;endif(symbols(i)==4)s1=1;endhold on;subplot(2,1,1);plot(t,s1);title('原始信號');endfor i=1:length(symbols)t=i-1:0.01:i;if(symbols(i)==1)s1=3;s2=0;endif(symbols(i)==2)s1=3;s2=1;endif(symbols(i)==3)s1=4;s2=0;endif(symbols(i)==4)s1=4;s2=1;endhold on;grid on;subplot(2,1,1);plot(t,s1*ones(1,101));title('原始信號');hold on;subplot(2,1,1);plot(t,s2*ones(1,101));title('原始信號');axis([0 10 0 5])endfor i=1:length(symbols)t=i-1:1/f:i;if (symbols(i)==1)QPSKsingal=-cos(2*pi*t);endif (symbols(i)==2)QPSKsingal=sin(2*pi*t);endif (symbols(i)==3)QPSKsingal=-sin(2*pi*t);endif (symbols(i)==4)QPSKsingal=cos(2*pi*t);endhold on;subplot(2,1,2);plot(t,QPSKsingal);title('QPSK調制后的信號')end end運行結果
總結
以上是生活随笔為你收集整理的MATLAB QPSK调制代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 循环标记_深入浅析Java 循
- 下一篇: c语言之计算两个数的大数