📄 run.m
字号:
B= 4; % # of bitsC= 16; % # of points in constellationS= 256; % # samples of handelL=16; % length of channelnoise=.0001; % noise amplitudesN=0; % # TD spikesN=L; % length of cyclic padF=128; % length of blocks (1/2 # of subchannels)M=constbuilder(C); % constellation matrixs=abs(randn(L,1)); % random channels=s./sum(s);load handely=y(1:S);x=a2d(y,B);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(y/max(abs(y)));title('input speech');% axis([1 S -1 1]);% grid on% % figure(2)% stem(d2a(x,B));ylabel('quantized input');% axis([1 S -1 1]);% grid on% % figure(3)% 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(4)% Q=length(d(:,1));% stem(1:Q-N,matlaberr(d(1:Q-N,1)),'b');ylabel('cylic padded TD 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(5)% %stem(e);ylabel('series TD input');% Q=2*(2*F+N);% stem(1:Q/2,e(1:Q/2));% hold% stem(Q/2+1:Q,e(Q/2+1:Q),'g');% stem(Q/2-L/2+1/2:Q/2+L/2,s,'r');% hold% % figure(7)% 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(6)% stem(fftshift(abs(fft(s,256))));ylabel('Transfer Function of Channel');% axis([0 2*F 0 1]);% % figure(8)% stem(f);ylabel('TD output of channel');% % figure(9)% stem(h);ylabel('cyclic pad removed');% % figure(10)% stem(fftshift(abs(1./fft(s,256))));ylabel('transfer function of equalizer');% % figure(11)% stem(r);ylabel('received/quantized speech'); % % figure(12)% 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')% holdps=(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 + -