資源簡介
FMT DFE QAM,濾波多音調制,均衡很好的參考資源

代碼片段和文件信息
clc
clear
echo?off
global?cir_matrix_t
global?N
global?flag
flag?=?1;????
snr_b?=?[151015203530];
iter_num?=?3;
N?=?32;
snr?=?snr_b?+?10*log10(2);
subCarrNum=64;????%number?of?ifft/fft?point?the?subchannel?numbers.
gama=16;??????????%length?of?polyphase?filter
Nf=(2*gama-1);%?Select?FSE?and?DFE?lengths
Nb=gama;
Prototype=ProtoFilter(subCarrNumgama);
tPolyphase=reshape(PrototypesubCarrNumgama);%polyphase:多相,gama多相濾波器的長度,subCarrNum為子載波個數?reshape:改變數組的配置?
mPolyphase=SubMatchFilter(tPolyphasesubCarrNum);
for?p=1:subCarrNum
????subChannelMat(p:)=conv(tPolyphase(p:)mPolyphase(p:));%conv:求兩個多項式的乘積
end
for?p=1:subCarrNum
????c(p:)=subChannelMat(p:)/norm(subChannelMat(p:));%%%norm:矩陣或向量的范數
end
for?snr_index=1:length(snr)
????errsnr(snr_index)=0;
???ber(snr_index)=0;
????lambda?=?power(10-snr(snr_index)/20);
????
?????erriter=?0;
????for?iter?=1:iter_num
??????
????????for?p=1:subCarrNum
???????????
???????????
????????bit_signal(p:)?=?randint(1N);
????????modul_signal1(p:)?=?mod_4PSK(bit_signal(p:));
????????end
?????????modul_signal=ifft(modul_signal1);
????????
????????for?p=1:subCarrNum
??????????rx_sym(p:)?=?Through_channel(c(p:)modul_signal(p:)N/2);
?????????rx_signal1(p:)?=?awgn(rx_sym(p:)snr(snr_index));
????????end
?????????
????????
????????for?p=1:subCarrNum
???????????????equal_bit=?[];
????????equal_signal1(p:)?=?equalizer(NfNbrx_signal1(p:)lambda);
????????end
??equal_signal=fft(equal_signal1);
??
????????
????????errp=0;
????????for?p=1:subCarrNum
??????????
???????????????equal_bit=?[];
????????
????????????for?k=1:N/2
????????????????
????????????????if?real(equal_signal(pk))>0.5
????????????????equal_bit?=?[equal_bit?0?0];
????????????????elseif?real(equal_signal(pk)<-0.5)
????????????????equal_bit?=?[equal_bit?1?1];
????????????????elseif?imag(equal_signal(pk))>0.5
????????????????equal_bit?=?[equal_bit?1?0];
????????????????else?equal_bit?=?[equal_bit?0?1?];
????????????????end
????????????end
????????????errr(p)?=?sum(abs(equal_bit-bit_signal(p:)));
???????????errp?=?errp+?errr(p);
????????end???
????????erriter=erriter+errp;
???
????end
???errsnr(snr_index)=erriter;
???????errsnr1(snr_index)=errsnr(snr_index)/(N*iter_num*subCarrNum);
???????ber(snr_index)=?errsnr1(snr_index)
???????snr_index
end
?????semilogy(snr_bber‘*-‘)
hold?on
grid?on
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2471??2007-10-05?08:46??FMT_DFE_4QAM\DFE_MAIN_3.m
?????文件????????740??2007-09-28?15:12??FMT_DFE_4QAM\equalizer.m
?????文件????????296??2007-09-26?18:46??FMT_DFE_4QAM\hard_4QAM_demodul.m
?????文件????????342??2007-09-26?18:46??FMT_DFE_4QAM\mod_4PSK.m
?????文件????????360??2007-09-27?20:48??FMT_DFE_4QAM\ProtoFilter.m
?????文件????????145??2007-10-05?19:57??FMT_DFE_4QAM\read?me.txt
?????文件????????474??2007-09-22?14:40??FMT_DFE_4QAM\SubMatchFilter.m
?????文件????????747??2007-10-01?22:04??FMT_DFE_4QAM\Through_channel.m
?????目錄??????????0??2007-10-05?08:47??FMT_DFE_4QAM
-----------?---------??----------?-----??----
?????????????????5575????????????????????9
- 上一篇:APP接口開發
- 下一篇:bison-devel
評論
共有 條評論