数字信号处理课程设记 湖南工程学院 !!!!!!!!!!!!!!!!!!!!!!!

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

z1=wavread('C:zhouzheng.wav'); plot(z1);

0123456

7

x 10

5

-0.4

-0.3-0.2-0.100.10.20.30.4

0.5

figure(1);

subplot(2,1,2); y1=z1(1:8192); Y1=fft(y1); plot(abs(Y1));

title('原始时域波形图');xlabel('时间t/s');ylabel('幅值/A'); figure(2);

y1=fft(z1,8000);

f1=8000*(0:7999)/8000; subplot(2,1,2); plot(f1,abs(y1));

title('原始频域波形图');xlabel('频率 f/Hz');ylabel('幅值/db') 原语音频域和时域波形图如下:

1000

2000

3000

400050006000

7000

8000

9000

051015

20原始时域波形图

时间t/s

幅值/A

1000

2000

3000

400050006000

7000

8000

051015

20原始频域波形图

频率 f/Hz

幅值/d b

②对语音信号进行频谱分析,在MATLAB 中,可以利用函数fft 对信号进行快速付立叶变换,得到信号的频谱特性 z1=wavread('C:zhouzheng.wav'); y1=z1(1:8192); Y1=fft(y1); n=0:8191; plot(n,Y1);

图像输出如图2:

0100020003000400050006000700080009000

-20

-15

-10

-5

5

10

15

3. 设计数字滤波器和对信号滤波

(1)窗函数设计低通滤波器 程序设计如下: clear;close all

[z1,fs,bits]=wavread('C:zhouzheng.wav') y1=z1(1:8192); Y1=fft(y1);

fp=1000;fc=1200;As=100;Ap=1;Fs=8000; wc=2*pi*fc/Fs; wp=2*pi*fp/Fs; wdel=wc-wp;

beta=0.112*(As-8.7);

N=ceil((As-8)/2.285/wdel); wn= kaiser(N+1,beta); ws=(wp+wc)/2/pi;

b=fir1(N,ws,wn); figure(1); freqz(b,1);

x=fftfilt(b,z1); X=fft(x,8192); figure(2);

subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,1.0]); title('滤波前信号频谱');

subplot(2,2,2);plot(abs(X));axis([0,1000,0,1.0]); title('滤波后信号频谱'); subplot(2,2,3);plot(z1); title('滤波前信号波形'); subplot(2,2,4);plot(x); title('滤波前信号波形'); sound(x,fs,bits);

图形分析如下:

0.1

0.2

0.30.40.50.60.70.80.9

1

-8000

-6000-4000-2000

Normalized Frequency (⨯π rad/sample)

P h a s e (d e g r e e s )

00.10.2

0.30.40.50.60.70.80.91

-200

-100

100Normalized Frequency (⨯π rad/sample)

M a g n i t u d e (d B )

0500

1000

0.5

1

滤波前信号频谱

0500

1000

0.5

1

滤波后信号频谱

02468

x 10

5

-0.5

0.5滤波前信号波形

02468

x 10

5

-0.4

-0.2

00.2

0.4滤波前信号波形

2)窗函数设计高通滤波器

程序设计如下: clear;close all

[z1,fs,bits]=wavread('C:zhouzheng.wav') y1=z1(1:8192); Y1=fft(y1);

fp=2800;fc=3000;As=100;Ap=1;Fs=8000; wc=2*pi*fc/Fs; wp=2*pi*fp/Fs; wdel=wc-wp;

beta=0.112*(As-8.7);

N=ceil((As-8)/2.285/wdel); wn= kaiser(N,beta); ws=(wp+wc)/2/pi;

b=fir1(N-1,ws,'high',wn); figure(1); freqz(b,1);

x=fftfilt(b,z1); X=fft(x,8192); figure(2);

subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,1.0]); title('滤波前信号频谱');

subplot(2,2,2);plot(abs(X));axis([0,1000,0,1.0]); title('滤波后信号频谱'); subplot(2,2,3);plot(z1);

相关文档
最新文档