📄 preanddeemphase.m
字号:
%预加重(预滤波) 信号在噪声信道内传播 及 解码 模拟算法
%程序设计:刘辉
%pangelaca@yahoo.com.cn (email/msn)
%由于我在柏林工业大学学习,源程序的一些变量名由德语缩写成.(但其实阅读上没有影响)
%参数说明:
%Bpre和Apre: 预加重滤波器的分子和分母系数,可以调节或增加阶数
%ftzm1.wav: 供测试的文件,可以改成其它的wav波形文件
%Bde和Ade: 解码(反制加重)滤波器的分子和分母系数,可以调节或增加阶数,一般为Hpre的倒数.也有可能取不一样的值.
%Hpre(z)=(5z-3)/2z
Bpre=[5 -3];
Apre=[2 0];
[x,sampl]=wavread ('ftzm1.wav');
subplot(3,2,1);
plot(x);
title ('原始声波 x(n) (ftzm1.wav)')
sound(x);
pause(3);
xpre=filter(Bpre,Apre,x);
subplot(3,2,2);
plot(xpre);
title ('通过预滤波后 xpre(n)')
xvar=var(x);
[m,n]=size(x);
r=xvar*randn(m,1);
subplot(3,2,3);
plot(r);
title ('与原始声波相同方差的信道噪声 r(n)');
Mixsignal=xpre+r;
subplot(3,2,4);
plot(Mixsignal);
title ('xpre(n) + r(n)');
%Hde(z)=2z/5z-3
Bde=[2 0];
Ade=[5 -3];
y=filter(Bde,Ade,Mixsignal);
subplot(3,2,5);
plot(y);
title ('通过解码(反制加重)后的输出信号 y(n)')
sound(y);
Fehler=y-x;
subplot(3,2,6);
plot(Fehler);
title ('误差信号 e(n)=y(n)-x(n)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -