文档库 最新最全的文档下载
当前位置:文档库 › 设计FIR滤波器处理声音信号

设计FIR滤波器处理声音信号

1 完成语音信号的读取,加噪声及频谱分析

clear all;clc;

[x,Fs,bits]=wavread('ding.wav');

%sound(x,Fs,bits);

t=0:length(x)-1;

x=x(:,2)';

zs=0.05*cos(2*pi*10000*t/Fs);

x_zs=x+zs;

%sound(x,Fs,bits);

subplot(2,1,1);

pinpu(x,Fs);title('原始信号频谱');xlabel('频率(Hz)');

subplot(2,1,2);

pinpu(x_zs,Fs);title('加噪信号频谱');xlabel('频率(Hz)');

2 选取滤波器指标,完成线性相位FIR滤波器设计,观察滤波器幅度响应和相位响应特点,并检查设计出来的滤波器是否满足技术指标;将加噪声前及去噪后语音的时域和频域信号进行对比显示

clear all;clc;

[x,Fs,bits]=wavread('ding.wav');

sound(x,Fs,bits);

t=0:length(x)-1;

x=x(:,1)';

zs=0.05*cos(2*pi*10000*t/Fs);

x_zs=x+zs;

sound(x_zs,Fs,bits);

%blackman FIR filter

%确定窗的形状及窗的长度

fs=4000;fp=3500;

ws=fs/Fs*2*pi;

wp=fp/Fs*2*pi;

deltaw=ws-wp;

N0=ceil(2*pi*5.5/deltaw);

N=N0+mod(N0+1,2)

%由理想频率响应,求其单位冲激响应

wc=(ws+wp)/2;

hd=ideal_lp(wc,N);

%计算数字滤波器的单位冲激响应

wn=wc/pi;

windows=blackman(N);

n=N-1;

b=fir1(n,wn,windows);

[H,w]=freqz(b,1); %b即为h(n)

[db,mag,pha,grd,w1]=freqz_m(b,1);

%检测衰减特性:

dw=2*pi/1000; %dw为频率分辨率

Rp=-(min(db(1:wp/dw+1))) %检验通带波动

As=-round(max(db(ws/dw+1:501))) %检验最小阻带衰减不满足技术指标%作图

dbH=20*log10((abs(H)+eps)/max(abs(H)));

subplot(2,2,1);stem(0:n,hd);title('理想脉冲响应');

xlabel('n');ylabel('hd(n)');

subplot(2,2,2);stem(0:n,windows);title('窗函数特性');

xlabel('n');ylabel('wd(n)');

subplot(2,2,3);stem(0:n,b);title('实际脉冲响应');

xlabel('n');ylabel('h(n)');

subplot(2,2,4);plot(w/pi,dbH);title('幅度频率响应');

xlabel('频率:单位\pi');ylabel('H(e^{j\omega})');

%处理信号

x_windows_lp=conv(x_zs,b);

sound(x_windows_lp,Fs,bits);

%时域分析

figure(2)

subplot(3,1,1);stem(x);

title('原始信号'); subplot(3,1,2); stem(x_zs);

title('加噪信号'); subplot(3,1,3); stem(x_windows_lp);

title('滤波后信号');

%频域分析

figure(3)

subplot(3,1,1);pinpu(x,Fs);

title('原始信号频谱');xlabel('频率(Hz)');

subplot(3,1,2);pinpu(x_zs,Fs);

title('加噪信号频谱');xlabel('频率(Hz)');

subplot(3,1,3);pinpu(x_windows_lp,Fs);

title('滤波后信号频谱');xlabel('频率(Hz)');

pinpu.m

function pinpu(x,Fs)

f=abs(fftshift(fft(x)));

w=linspace(-Fs/2,Fs/2,length(x)); plot(w,f);

axis([0,max(w),min(f), max(f)]);

滤波器特性:

N = 243 Rp = 0.0025 As = 68

50

100

150

200

250

-0.1

-0.0500.050.10.150.2

0.250.30.35理想脉冲响应

n

h d (n )

050100

150200250

0.2

0.4

0.6

0.81

窗函数特性

n

w d (n )

50

100

150

200

250

-0.1

-0.0500.050.10.15

0.2

0.250.3

0.35实际脉冲响应

n

h (n )

00.10.20.3

0.40.50.60.70.80.91

-200

-150-100-50

050

幅度频率响应

频率:单位π

H (e j ω)

语音的时域显示

00.51

1.52

2.5x 10

4

-0.2

-0.100.10.2原始信号

频率(Hz)00.51

1.52

2.5x 10

4

-0.4

-0.200.20.4加噪信号

频率(Hz)00.51

1.52

2.5x 10

4

-0.2

-0.100.10.2滤波后信号

频率(Hz)

语音的频域显示

2000

4000

6000

8000

10000

100

200300400500原始信号频谱

频率(Hz)

2000

4000

6000

8000

10000

100

200300400500加噪信号频谱

频率(Hz)

2000

4000

6000

8000

10000

100

200300400500滤波后信号频谱

频率(Hz)

相关文档
相关文档 最新文档