?? ofdmmod.m
字號:
clear
clc
c=6; % 子載波個數
bits=4000; % 每個信道的比特數
n=c*bits; % 總的傳送比特數
data= 2*round(rand(1,n))-1; %產生信源數據
s = reshape(data,c,bits); % 串并變換
tp=1:0.1:(1+bits/10)-0.1;
for i=1:c
carrier(i,:)=cos(2*i*pi*tp); % 產生載波信號
bpsk_sig(i,:)=s(i,:).*carrier(i,:); % 產生調制信號
fin(i,:)=ifft(bpsk_sig(i,:)); %對信號進行ifft
end
%并串變換
transmit=reshape(fin,1,n);
%加噪聲
snr=[-5:2:16];
for t=1:length(snr)
rxdata=awgn(transmit,snr(t),'measured');
%并串變換
rec=reshape(rxdata,c,bits);
for i=1:c
rxdataf(i,:)=fft(rec(i,:)); %進行FFT處理
uncarry(i,:)=rxdataf(i,:).*carrier(i,:); %解調
end
rdata=sign(real(uncarry));
num(t)=biterr(rdata+1,s+1)/n;
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -