基于BPSK, QPSK的OFDM功率譜密度程序。
0.png (6.29 KB, 下載次數: 57)
下載附件
2017-11-23 03:05 上傳
單片機源程序如下:
- function [f,P]=qpskPSD(SubCarrier)
- IFFT_n=2*SubCarrier;%IFFT點數
- Symbol_n=10;%每個子載波含有的OFDM符號數
- Symbol_bit=2;%每個符號占比特數(QPSK調制)
- SymbolCount=SubCarrier*Symbol_n*Symbol_bit;%輸入的總符號數
- %產生隨機輸入====================
- InputData=rand(1,SymbolCount)>0.5;
- %串并變換====================
- ParaData=zeros(SubCarrier,Symbol_n*Symbol_bit);%存放并行數據
- for i=1:SymbolCount
- ParaData(mod(i-1,SubCarrier)+1,fix((i-1)/SubCarrier)+1)=InputData(i);
- end
- %星座映射====================
- %QPSK
- %分成I,Q兩路碼元
- I_Data=zeros(SubCarrier,Symbol_n);%存放I路數據
- Q_Data=zeros(SubCarrier,Symbol_n);%存放Q路數據
- for i=1:SubCarrier
- for j=1:Symbol_n
- I_Data(i,j)=ParaData(i,j*2-1);
- Q_Data(i,j)=ParaData(i,j*2);
- end
- end
- %QPSK相乘電路
- %雙極性不歸零波形:1對應1,0對應-1
- for i=1:SubCarrier
- for j=1:Symbol_n
- if I_Data(i,j)==0
- I_Data(i,j)=-1;
- end
- if Q_Data(i,j)==0
- Q_Data(i,j)=-1;
- end
- end
- end
- %幅度變為1/sqrt(2)
- I_Data=I_Data./sqrt(2);
- Q_Data=Q_Data./sqrt(2);
- %Q路信號轉成復數
- Q_Data=Q_Data.*sqrt(-1);
- %QPSK相加電路
- QPSK_Signal=zeros(SubCarrier,Symbol_n);%存放QPSK調制后各路信號
- for i=1:SubCarrier
- for j=1:Symbol_n
- QPSK_Signal(i,j)=I_Data(i,j)+Q_Data(i,j);
- end
- end
- %IFFT====================
- QPSK_Signal1=[QPSK_Signal(1:SubCarrier/2,:);zeros(IFFT_n-SubCarrier,Symbol_n);QPSK_Signal(SubCarrier/2+1:SubCarrier,:)];
- x=ifft(QPSK_Signal1*sqrt(IFFT_n),IFFT_n);
- %并串變換====================
- x1=reshape(x,1,IFFT_n*Symbol_n);
- %頻譜
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
bpskPSD.rar
(1.6 KB, 下載次數: 27)
2017-11-22 21:16 上傳
點擊文件名下載附件
PSK+OFDM功率譜密度 下載積分: 黑幣 -5
|