文档介绍:《数字信号处理》课程设计报告
学院(部) 信息工程学院
专业电子信息工程
班级 24030902
学生姓名周小军
学号 2403090212
数字信号综合设计
一、实验目的
,掌握MATLAB的程序设计方法;
;
、基本理论和基本方法;
;
。
二、实验原理
语音信号采集与分析
运用windows下的录音机,录制一段自己的话音,时间控制在一秒。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,再运用plot函数画出语音信号的时域波形,最后在语音信号频谱分析时运用fft对信号进行快速傅里叶变换,得到频谱特性图形,具体运用见程序代码。
滤波器设计和运用滤波器进行滤波
1 )窗函数和等波纹逼近法设计FIR滤波器及滤波
首先根据阻带最小衰减选定窗口类型,然后调用fir1函数设计线性相位FIR数字滤波器,再用freqz函数画出其频谱图形,最后运用fftfilt函数对信号进行滤波。而等波纹逼近法中则运用remez和remezord直接设计FIR滤波器,然后运用fftfilt函数对信号进行滤波。具体见程序代码。
2 )双线性变换法社设计IIR数字滤波器及滤波
首先将数字滤波器的技术指标运用预畸校正法转换成模拟滤波器的设计指标:
Ωph=2/T*tan(wp/2),然后用butter和buttord、cheby1和cheb1ord、ellip和ellipord设计各种模拟滤波器,再用bilinear函数进行模拟滤波器和数字滤波器之间的转换,最后用filter函数对语音信号进行滤波,并运用函数sound播放滤波后语音。
三、主要实验仪器及材料
微型计算机、
四、实验程序代码、结果和滤波性能分析
1 )语音信号采集及频谱分析
程序代码如下:
%语音信号的时域波形和频谱特性
clear all;close all;clc;
file=''; %“中华人民共和国”
[y,fs,nbits]=wavread(file);
sound(y,fs,nbits);
yn=fft(y);
figure(1);
plot(y);
title(‘语音时域波形’);
figure(2);
freqz(yn);
title(‘语音频谱特新’);
运行结果如下;
先会听到“中华人民共和国”,然后会看到如下图形:
图1 语音时域波形
图2 语音频谱
2 )窗函数设计FIR滤波器及滤波
程序代码如下:
%用凯瑟窗设计FIR低通滤波器
clear all;close all;clc;
fp=1000;fs=1200;rs=100;Fs=8000; %kaiser滤波器设计
wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;
Bt=ws-wp;
alph=*(rs-);
M=ceil((rs-8)/);
wc=(wp+ws)/2/pi;
hn=fir1(M,wc,kaiser(M+1,alph));
figure(1);
freqz(hn);
[y,fn,nbits]=wavread('zhong');
Y=fft(y);
y1=fftfilt(hn,y); %利用 kaiser滤波器对语音信号滤波
Y1=fft(y1);
n=0:length(y)-1;
figure(2);
subplot(221);plot(y);title('未滤波语音波形');
subplot(222);plot(y1);title('滤波后语音波形');
subplot(223);plot(n,Y);title('未滤波语音频谱');
subplot(224);plot(n,Y1);title('滤波后语音频谱');
sound(y1,fn,nbits); %滤波后语音回放
运行结果如下:
图3 凯瑟窗设计FIR低通滤波器
图4 Kaiser滤波器滤波前后语音波形、频谱
%用凯瑟窗设计FIR数字高通滤波器
clear all;close all;clc;
fp=3000;fs=2800;FS=8000;as=100;
wp=2*pi*fp/FS;ws=2*pi*fs/FS;
Bt=wp-ws;
alph=*(as-);
M=ceil(as-8/);