?? ofdmmod.m
字號(hào):
clear
clc
c=6; % 子載波個(gè)數(shù)
bits=4000; % 每個(gè)信道的比特?cái)?shù)
n=c*bits; % 總的傳送比特?cái)?shù)
data= 2*round(rand(1,n))-1; %產(chǎn)生信源數(shù)據(jù)
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); % 產(chǎn)生載波信號(hào)
bpsk_sig(i,:)=s(i,:).*carrier(i,:); % 產(chǎn)生調(diào)制信號(hào)
fin(i,:)=ifft(bpsk_sig(i,:)); %對(duì)信號(hào)進(jìn)行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,:)); %進(jìn)行FFT處理
uncarry(i,:)=rxdataf(i,:).*carrier(i,:); %解調(diào)
end
rdata=sign(real(uncarry));
num(t)=biterr(rdata+1,s+1)/n;
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -