dsp课程设计报告Word文档下载推荐.docx
- 文档编号:15143109
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:20
- 大小:163KB
dsp课程设计报告Word文档下载推荐.docx
《dsp课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《dsp课程设计报告Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;
回放语音信号。
3.课程设计基础:
MATLAB编程基础、数字信号处理知识、语音信号处理知识。
4.具体步骤与要求:
4.1 语音信号的采集
录制一段自己的话音,或利用老师给的语音,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
wavrecord(2*fs,fs)
4.2语音信号的频谱分析
要求画出语音信号的时域波形;
然后对语音号进行快速傅里叶变换,得到信号的频谱特性。
fft
4.3设计数字滤波器,画出其频率响应曲线
各滤波器的性能指标:
(1)低通滤波器性能指标 fp=1000Hz,fs=1200Hz,As=40dB,Ap=1dB。
(2)高通滤波器性能指标 fs=4000Hz,fp=4300Hz,As=40dB,Ap=1dB
(3)带通滤波器性能指标 fp1=1200Hz,fp2=3000Hz,fs1=1000Hz,fs2=3200Hz,As=40dB,Ap=1dB。
要求:
(1)频率变换法设计IIR滤波器:
可以利用函数butter、cheby1、cheby2和ellip等设计。
(2)(选做)设计IIR滤波器:
用双线性变换法设计上面要求的3种滤波器。
bilinear
(3)(选做)设计FIR滤波器:
用窗函数法设计上面要求的3种滤波器。
可以利用函数fir1设计FIR滤波器。
(4)函数freqz画出各滤波器的频率响应。
4.4 用滤波器对信号进行滤波,比较滤波前后语音信号的波形及频谱
要求用自己设计的各滤波器分别对采集的语音信号进行滤波,并在一个窗口同时画出滤波前后的波形及频谱。
(1)IIR滤波器利用函数filter对信号进行滤波;
(2)FIR滤波器利用函数fftfilt对信号进行滤波。
4.5回放语音信号
在MATLAB中,函数sound可以对声音进行回放。
其调用格式:
sound(x,fs,bits);
可以感觉滤波前后的声音有变化。
4.6(选做)设计系统界面
为了使编制的程序操作方便,要求有能力的学生,设计处理系统的用户界面。
在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。
5滤波器设计方法综述
滤波器的设计步骤:
1)给出系统的性能指标;
2)用一个离散的时间系统逼近这些性能指标;
3)实现该系统.一般我们利用数字计算的方法实现系统,所以,将该离散时间滤波器称为数字滤波器.滤波器的指标往往是以频域的形式给出的,尤其是低通,带通,高通和带阻这些选频滤波器.如图所示的一个线性时不变离散系统,如果输入是带限的,且采样率满足奈奎斯特采样率,这系统是一个线性时不变的连续系统.
H(ejΩT),Ω<
π/TωHeff(jΩ)=H(ejω)=Heff(j),ωπ/T
6实验程序
fs=22050;
%语音信号采样频率为22050
x1=wavread('
WindowsCriticalStop.wav'
);
%读取语音信号的数据,赋给变量x1
sound(x1,22050);
%播放语音信号
y1=fft(x1,1024);
%对信号做1024点FFT变换
f=fs*(0:
511)/1024;
figure
(1)
plot(x1)%做原始语音信号的时域图形
title('
原始语音信号'
xlabel('
timen'
ylabel('
fuzhin'
figure
(2)
freqz(x1)%绘制原始语音信号的频率响应图
频率响应图'
)
figure(3)
subplot(2,1,1);
plot(abs(y1(1:
512)))%做原始语音信号的FFT频谱图
原始语音信号FFT频谱'
subplot(2,1,2);
plot(f,abs(y1(1:
512)));
原始语音信号频谱'
Hz'
fuzhi'
程序2:
t=0:
1/22050:
(size(x1)-1)/22050;
x2=randn(1,length(x1));
%产生一与x长度一致的随机信号
sound(x2,22050);
plot(x2)%做原始语音信号的时域图形
高斯随机噪声'
randn('
state'
0);
m=randn(size(x1));
x2=0.1*m+x1;
%播放加噪声后的语音信号
y2=fft(x2,1024);
plot(t,x2)
加噪后的语音信号'
plot(f,abs(y2(1:
加噪后的语音信号频谱'
根据以上代码,你可以修改下面有错误的代码
程序3:
双线性变换法设计Butterworth滤波器
h:
\课程设计2\shuzi.wav'
Au=0.03;
d=[Au*cos(2*pi*5000*t)]'
;
x2=x1+d;
wp=0.25*pi;
ws=0.3*pi;
Rp=1;
Rs=15;
Fs=22050;
Ts=1/Fs;
wp1=2/Ts*tan(wp/2);
%将模拟指标转换成数字指标
ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,Rp,Rs,'
s'
%选择滤波器的最小阶数
[Z,P,K]=buttap(N);
%创建butterworth模拟滤波器
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2lp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,Fs);
%用双线性变换法实现模拟滤波器到数字滤波器的转换
[H,W]=freqz(bz,az);
%绘制频率响应曲线
plot(W*Fs/(2*pi),abs(H))
grid
频率/Hz'
频率响应幅度'
Butterworth'
f1=filter(bz,az,x2);
subplot(2,1,1)
plot(t,x2)%画出滤波前的时域图
滤波前的时域波形'
subplot(2,1,2)
plot(t,f1);
%画出滤波后的时域图
滤波后的时域波形'
sound(f1,22050);
%播放滤波后的信号
F0=fft(f1,1024);
%画出滤波前的频谱图
滤波前的频谱'
F1=plot(f,abs(F0(1:
%画出滤波后的频谱图
滤波后的频谱'
程序4:
窗函数法设计滤波器:
wdelta=ws-wp;
N=ceil(6.6*pi/wdelta);
%取整
wn=(0.2+0.3)*pi/2;
b=fir1(N,wn/pi,hamming(N+1));
%选择窗函数,并归一化截止频率
freqz(b,1,512)
f2=filter(bz,az,x2)
plot(t,f2);
sound(f2,22050);
%播放滤波后的语音信号
F0=fft(f2,1024);
F2=plot(f,abs(F0(1:
试验结果:
图一(语音信号的采集)
图二(语音信号频谱分析)
图三(低通滤波器)
图四(高通滤波器)
图五(滤波前后频谱比较)
7设计总结
通过这次设计,使我对语音信号有了全面的认识,对数字信号处理又有了深刻的理解,在之前数字信号与处理的学习中,已经使用过matlab,对其有了一些基础的了解和认识。
通过这次练习使我进一步了解语音信号的采集、频谱分析以及滤波器设计放方法。
以及在其中产生信号和绘制信号的基本命令和一些基础编程语言。
让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;
并且熟练的应用matlab也可以很好的加深我对课程的理解,方便我的思维。
这次设计使我学会分析滤波器的优劣和性能,提高分析与动手时间能力。
同时我相信,进一步对matlab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)