matlab11次高通滤波器,MATLAB高通滤波器处理加燥声的音频最后滤波的波形出不来...

f3=250;%所加噪声正弦函数的频率

[Y,fs,bits]=wavread('E:\音频2.wav');

%利用wavread产生信号的函数及采样频率

L=length(Y);t=0:1/fs:(L-1)/fs;%定义时间的范围及步长

y=0.025*sin(2*pi*f3*t); n1=floor(L/2);%所加噪声

f1=(0:n1)*fs/L;Y=Y(:,1);sound(Y,fs);%输出加噪前信号

Y1=y+Y';%给信号加噪声

FY1=abs(fft(Y1,L));FY=abs(fft(Y,L));sound(Y1,fs);%输出加噪后的信号

figure(1)

subplot(211)

plot(t(1:1000),Y(1:1000)); grid on;%加噪前信号的时域图

xlabel('时间(t)');ylabel('幅度(Y)');

title('加噪前信号波形的时域图');

subplot(212)

plot(f1,FY(1:n1+1)); grid on;%加噪前信号的频域图

xlabel('频率(f)');ylabel('幅度(FY)');

title('加噪前信号波形的频域图');

axis([0 1000 0 200]);

figure(2)

subplot(211)

plot(t(1:1000),Y1(1:1000)); grid on;%加噪后信号的时域图

xlabel('时间(t)');ylabel('幅度(Y1)');

title('加噪声后信号波形的时域图');

subplot(212)

plot(f1,FY1(1:n1+1)); grid on;%加噪后信号的频域图

xlabel('频率(f)');ylabel('幅度(FY1)');

title('加噪声后信号波形的频域图');

axis([0 1000 0 200]);

M=32;%所需频率采样点个数

Wp=0.6*pi;%通带截止频率

m=0:M/2;%阻频带上的采样点

Wm=2*pi*m./(M+1);%阻带截止频率

mtr=ceil(Wp*(M+1)/(2*pi));%向正方向舍入ceil(3.5)=4;ceil(-3.2)=-3;

Ad=[Wm>=Wp];

Ad(mtr)=0.28;

Hd=Ad.*exp(-j*0.5*M*Wm);%构造频域采样向量H(k)

Hd=[Hd conj(fliplr(Hd(2:M/2+1)))];

%fliplr函数实现矩阵的左右翻转conj是求复数的共轭

h=real(ifft(Hd));%h(n)=IDFT[H(k)]

w=linspace(0,pi,1000);%用于产生0,pi之间的1000点行矢量

H=freqz(h,[1],w);%滤波器的幅频特性图

figure(3)

plot(w/pi,20*log10(abs(H)));grid on;%参数分别是归一化频率与幅值

xlabel('归一化频率');ylabel('增益/分贝');title('滤波器的增益响应');

axis([0 1 -100 20]);

figure(4)

sf=filter(h,1,Y1);%使用filter函数对信号进行滤波

Fsf=abs(fft(sf,L));

subplot(211)

plot(t,sf)%滤波后的信号图像

xlabel('时间/秒');ylabel('幅度');title('信号滤波后时域图');

axis([0.01 0.04 -0.005 0.005]);%限定图像坐标范围

subplot(212)

plot(f1,Fsf(1:n1+1)); grid on;%滤波后的信号频域图

xlabel('频率/赫兹');ylabel('幅度');title('信号滤波后频域图');

axis([0 1000 0 50]);

99e39a8196ca8f63dc1eee7b0d72d0ed.gif

2016-12-22 11:23 上传

点击文件名下载附件

1.4 MB, 下载次数: 21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值