?? run.m
字號:
B= 4; C= 16; % # 星座點數S= 256; % 采樣數L=16; % 信道長度noise=.0001; % 噪聲幅度sN=0; % N=L-1; % 循環前綴的長度F=128; % 數據塊的長度 (子信道的1/2)M=constbuilder(C); % 星座矩陣s=abs(randn(L,1)); % 隨機信道s=s./sum(s);load handel % 發射部分y=y(1:S); x=a2d(y,B);%取樣和量化%x=round(rand(1024,1));%隨機產生序列z=constmap(x,M);a=series2parallel(z,F);b=mirror(a);c=ifft(b);d=cyclicpad(c,N);e=matlaberr(parallel2series(d));aN = randn(length(conv(e,s)),1)*noise;f=channel(e,s,aN,sN);f=f(1:length(e)); % 接收部分g=series2parallel(f,2*F+N);h=decyclicpad(g,N);k=fft(h); m=filterchannel(k,s);n=demirror(m);n(1,:)=a(1,:);o=parallel2series(n); p=approximate(o,M);q=deconstmap(p,M);r=d2a(q,B);% figure(1)% stem(x);% ylabel('input');% axis([1 60 -1 2]);% title('輸入序列');% % figure(2)% plot(real(M(:,length(M(1,:)))),imag(M(:,length(M(1,:)))),'.b');% grid on% xlabel('REAL');% ylabel('IMAG');% axis([-1.5 1.5 -1.5 1.5]);% % figure(3)% Q=length(d(:,1));% stem(1:Q-N,matlaberr(d(1:Q-N,1)),'b');ylabel('cylic padded input');% hold% stem(1:N,matlaberr(d(1:N,1)),'r');% stem(Q-N+1:Q,matlaberr(d((Q-N+1):Q,1)),'r');% hold% % % figure(4)% plot(real(o),imag(o),'*r');% hold;% plot(real(M(:,length(M(1,:)))),imag(M(:,length(M(1,:)))),'.b');% ylabel('Received Constellation Points');% hold;% grid;% axis([-1.5 1.5 -1.5 1.5]);% % figure(5)% stem(h);ylabel('cyclic pad removed');% hold% axis([0 300 -0.1 0.1]);% % figure(6)% stem(q);ylabel('output'); % axis([1 60 -1 2]);% title('輸出序列');% % figure(7)% stem(1:128,abs(b(1:length(b)/2,1)),'m')% hold% stem(129:256,abs(b(length(b)/2+1:length(b),1)),'k')% hold% % figure(8)% stem(1:256,(c(1:length(c))),'m')% hold% title('IFFT');ps=(norm(e))^2;pn=(norm(aN))^2;snr=10*log10(ps/pn);biterr=sum(abs(x-q));
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -