第一篇:数字信号处理课程设计教学大纲1213261
数字信号处理课程设计教学大纲
课程设计编码:1213261 周数:1 学分:1 适用专业:通信工程、电子信息工程
一、课程设计的性质与任务
1.课程性质:
《数字信号处理》是电子信息工程专业本科学生的集中实践教学环节之一。主要在掌握数字信号基本概念、性质以及数字信号处理的基本方法的基础上,利用自己在数字信号处理课程中所学的知识进行数字滤波器的综合设计。2.课程设计的目的
通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。并能够对设计结果加以分析。3.课程任务:
通过对本门课程设计的学习,使学生深刻掌握数字信号处理的基本原理和基本实现方法;要让学生能够通过动手设计掌握数字信号处理基本实现方法,能够作到举一反三,触类旁通,并为将来的毕业设计作准备。
二、课程设计的内容及其要求
课程设计的主要内容:
1、设计一个数字滤波器(低通、高通、带通、带阻均可)。
2、将待处理信号送入数字滤波器。
3、观察滤波结果。
4、将滤波结果与预期结果比较。
5、分析结果与预期有差异的原因并提出解决方法。本次课程设计的具体求为:
1、根据具体任务确定自己要设计的数字滤波器的类别;
2、根据具体任务确定所设计的数字滤波器的具体参数指标;
3、根据拟定的滤波器类别和指标设计数字滤波器;
4、利用所设计的数字滤波器对滤波对象进行滤波并检验滤波结果;
设计时可以根据课题需要,要求学生独立完成或分组完成设计任务,至少完成上述内容中的前四项的数字滤波器设计、调试。要求数字滤波器必需能够对待处理信号进行相应的处理,其整个处理过程要能够正确演示,并提交包括下述内容的课程设计总结报告:
1、用户手册:说明如何设计的数字滤波器;
2、数字滤波器设计及工作过程、结果分析总结(需指出所遇到问题,可行的解决途径)。
三、课程设计的时间安排
日期 内容安排
星期一 课程设计动员,按照设计要求分析设计参数和基本思路 星期二 滤波器设计的理论部分
星期三 滤波器设计的实现(编程调试等)星期四 滤波器设计结果分析,撰写课程设计说明书 星期五 最后定稿,上交设计结果和说明书
四、主要参考文献
《数字信号处理——基于计算机的方法》电子工业出版社.Sanjit K.Mitral 《数字信号处理——原理与实践》清华大学出版社.方勇 《数字信号处理教程》清华大学出版社.程佩青
五、课程设计的成绩评定
成绩考核时,根据学生在设计中的表现和设计结果(包括演示和设计报告),综合考核,成绩分为5级分制,优、良、中、及格、不及格。
六、有关说明
本门课程的先修课程主要包括:高等数学、工程数学、模拟电子、数字电子、信号与系统、数字信号处理等。
执笔人:王晓宁 审核人:周昕 教学院长: 范立南
第二篇:数字信号处理课程设计..
课程设计报告
课程名称: 数字信号处理 课题名称: 语音信号的处理与滤波
姓 名: 学 号: 院 系: 专业班级: 指导教师: 完成日期: 2013年7月2日
目录
第1部分 课程设计报告………………………………………3 一.设计目的……………………………………………3 二.设计内容……………………………………………3 三.设计原理……………………………………………3 四.具体实现……………………………………………5 1.录制一段声音…………………………………5 2.巴特沃斯滤波器的设计………………………8 3.将声音信号送入滤波器滤波…………………13 4.语音信号的回放………………………………19 5.男女语音信号的频谱分析……………………19 6.噪声的叠加和滤除……………………………22 五. 结果分析……………………………………………27 第2部分 课程设计总结………………………………28 一. 参考文献……………………………………………28
第1部分 课程设计报告
一.设计目的
综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
二.设计内容
录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;换一个与你性别相异的人录制同样一段语音内容,分析两段内容相同的语音信号频谱之间有什么特点;再录制一段同样长时间的背景噪声叠加到你的语音信号中,分析叠加前后信号频谱的变化,设计一个合适的滤波器,能够把该噪声滤除;
三.设计原理
1.在Matlab软件平台下,利用函数wavrecord(),wavwrite(),wavread(),wavplay()对语音信号进行录制,存储,读取,回放。
2.用y=fft(x)对采集的信号做快速傅立叶变换,并用[h1,w]=freqz(h)进行DTFT变换。
3.掌握FIR DF线性相位的概念,即线性相位对h(n)、H()及零点的约束,了解四种FIR DF的频响特点。
4.在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波。
5.抽样定理
连续信号经理想抽样后时域、频域发生的变化(理想抽样信号与连续信号频谱之间的关系)
理想抽样信号能否代表原始信号、如何不失真地还原信号即由离散信号恢复连续信号的条件(抽样定理)
理想采样过程描述: 时域描述:
ˆa(t)xa(t)T(t)xa(t)(tnT)xa(nT)(tnT)xnnT(t)频域描述:利用傅氏变换的性质,时域相乘频域卷积,若
n(tnT)ˆa(t)Xa(j)xXa(j)xa(t)T(j)T(t)
则有
ˆ(j)1X(j)(j)XaaT2121ˆXa(j)Xa(jjk)Xa(jjks)TkTTkˆ(j)与X(j)的关系:理想抽样信号的频谱是连续信号频谱的Xaa
周期延拓,重复周期为s(采样角频率)。如果:
X(j)Xa(j)a0s/2s/2即连续信号是带限的,且信号最高频率不超过抽样频率的二分之一,则可不失真恢复。
奈奎斯特采样定理:要使实信号采样后能够不失真还原,采样频率必须大于信号最高频率的两倍:s2h 或 fs2fh
四.具体实现
1.录制一段声音
1.1录制并分析
在MATLAB中用wavrecord、wavread、wavplay、wavwrite对声音进行录制、读取、回放、存储。
程序如下:
Fs=8000;%抽样频率 time=3;%录音时间 fprintf('按Enter键录音%ds',time);%文字提示 pause;%暂停命令 fprintf('录音中......');x=wavrecord(time*Fs,Fs,'double');%录制语音信号 fprintf('录音结束');%文字提示 fprintf('按Enter键回放录音');pause;%暂停命令
wavplay(x,Fs);%按任意键播放语音信号
wavwrite(x,Fs,'C:UsersacerDesktop数字信号sound.wav');%存储语音信号
N=length(x);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(2);subplot(2,1,1);plot(x);%录制信号的时域波形 title('原始信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(x);%快速傅立叶变换 figure(2);subplot(2,1,2);plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 title('原始信号的频谱图');%加标题
grid;%加网格
图1.1 原始信号的时域与频谱图
1.2滤除无效点
针对实际发出声音落后录制动作半拍的现象,如何拔除对无效点的采样的问题: 出现这种现象的原因主要是录音开始时,人的反应慢了半拍,导致出现了一些无效点,而后而出现的无效的点,主要是已经没有声音的动作,先读取声音出来,将原始语音信号时域波形图画出来,根据己得到的信号,可以在第二次读取声音的后面设定采样点,取好有效点,画出滤除无效点后的语音信号时域波形图,对比可以看出。这样就可以解决这个问题。
x=wavread('C:UsersacerDesktop数字信号sound.wav', 7
[4000,24000]);%从4000点截取到24000结束 plot(x);%画出截取后的时域图形 title('截取后的声音时域图形');%标题 xlabel('频率');ylabel('振幅');grid;%画网格
图1.2 去除无效点
2.巴特沃斯滤波器的设计
2.1设计巴特沃思低通滤波器
MATLAB程序如下。滤波器图如图3.3所示。
%低通滤波
fp=1000;fs=1200;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯低通滤波器');xlabel('频率(HZ)');ylabel('耗损(dB)');gridon;9
图2.1 巴特沃思低通滤波器
2.2设计巴特沃思高通滤波器
MATLAB程序如下。滤波器图如图3.5所示。%高通滤波
fp=4800;fs=5000;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);10
[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'high','s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯高通滤波器');xlabel('频率(HZ)');ylabel('耗损(dB)');grid on;
图2.2巴特沃思高通滤波器
2.3设计巴特沃思带通滤波器
MATLAB程序如下。滤波器图如图3.7所示。%带通滤波
fp=[1200,3000];fs=[1000,3200];Fs=8000;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(4);[h,w]=freqz(Bz,Az,512,Fs1*1000);plot(w,abs(h));title('巴特沃斯带通滤波器');xlabel('频率(HZ)');ylabel('耗损(dB)');grid on;12
图2.3巴特沃思带通滤波器
3.将声音信号送入滤波器滤波
x=wavread('C:UsersacerDesktop数字信号sound.wav');%播放原始信号
wavplay(x,fs);%播放原始信号 N=length(x);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(4);subplot(4,2,1);plot(x);%录制信号的时域波形
title('原始信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(x);%快速傅立叶变换 subplot(4,2,3);plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 title('原始信号的频谱图');%加标题 grid;%加网格
3.1低通滤波器滤波 fs=8000;beta=10.056;wc=2*pi*1000/fs;ws=2*pi*1200/fs;width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi /width);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);
ys=fftfilt(h,x);%信号送入滤波器滤波,ys为输出 fftwave=fft(ys);%将滤波后的语音信号进行快速傅立叶变换 figure(4);subplot(4,2,2);%在四行两列的第二个窗口显示图形 plot(ys);%信号的时域波形
title('低通滤波后信号的时域波形');%加标题 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 grid;%网格
subplot(4,2,4);%在四行两列的第四个窗口显示图形 plot(f, abs(fftwave(n1)));%绘制模值 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义
title('低通滤波器滤波后信号的频谱图');%标题 grid;%加网格
wavplay(ys,8000);%播放滤波后信号
3.2高通滤波器滤波 fs=8000;beta=10.056;ws=2*5000/fs;wc=2*4800/fs;
width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi/width);h=fir1(n,wn/pi, 'high',kaiser(n+2,beta));[h1,w]=freqz(h);ys=fftfilt(h,x);%将信号送入高通滤波器滤波 subplot(4,2,5);%在四行两列的第五个窗口显示图形 plot(ys);%信号的时域波形 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 title('高通滤波后信号的时域波形');%标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%网格
fftwave=fft(ys);%将滤波后的语音信号进行快速傅立叶变换 subplot(4,2,7);%在四行两列的第七个窗口显示图形 plot(f,abs(fftwave(n1)));%绘制模值 axis([0 1 0 50]);xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义
title('高通滤波器滤波后信号的频谱图');%标题 grid;%加网格
wavplay(ys,8000);%播放滤波后信号
3.3带通滤波器 fs=8000;beta=10.056;wc1=2*pi*1000/fs;wc2=2*pi*3200/fs;ws1=2*pi*1200/fs;ws2=2*pi*3000/fs;width=ws1-wc1;wn1=(ws1+wc1)/2;wn2=(ws2+wc2)/2;wn=[wn1 wn2];n=ceil(12.8/width*pi);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);ys1= fftfilt(h,x);%将信号送入高通滤波器滤波 figure(4);subplot(4,2,6);%在四行两列的第六个窗口显示图形 plot(ys1);%绘制后信号的时域的图形 title('带通滤波后信号的时域波形');%加标题 xlabel('频率w/pi');ylabel('幅值/A');%显示纵坐标表示的意义 grid;%网格
fftwave=fft(ys1);%对滤波后的信号进行快速傅立叶变换 subplot(4,2,8);%在四行两列的第八个窗口显示图形
plot(f, abs(fftwave(n1)));%绘制模值 axis([0 1 0 50]);xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 title('带通滤波器滤波后信号的频谱图');%加标题 grid;%网格
wavplay(ys1,8000);%播放滤波后信号 图形如下:
原始信号的时域波形幅值/A0-1012x 10原始信号的频谱图34幅值/A1低通滤波后信号的时域波形0.50-0.5012频率w/pi3400.51频率w/pi高通滤波后信号的时域波形幅值/A0幅值/A0幅值/Ax 10高通滤波器滤波后信号的频谱图5012频率w/pi34幅值/A0.20-0.2幅值/A2001000x 10低通滤波器滤波后信号的频谱图200100000.51频率w/pi带通滤波后信号的时域波形0.50-0.501234频率w/pix 10带通滤波器滤波后信号的频谱图50幅值 00.5频率w/pi1000.5频率w/pi1
分析:三个滤波器滤波后的声音与原来的声音都发生了变化。其中低
通的滤波后与原来声音没有很大的变化,其它两个都又明显的变化
4.语音信号的回放
sound(xlow,Fs,bits);%在Matlab中,函数sound可以对声音进行回放,其调用格式: sound(xhigh, Fs,bits);%sound(x, Fs, bits);sound(xdaitong, Fs,bits);5.男女语音信号的频谱分析
5.1 录制一段异性的声音进行频谱分析
Fs=8000;%抽样频率 time=3;%录音时间 fprintf('按Enter键录音%ds',time);%文字提示 pause;%暂停命令 fprintf('录音中......');x=wavrecord(time*Fs,Fs,'double');%录制语音信号 fprintf('录音结束');%文字提示 fprintf('按Enter键回放录音');pause;%暂停命令 wavplay(x,Fs);%按任意键播放语音信号
wavwrite(x,Fs,'C:UsersacerDesktop数字信号sound2.wav');%存储语音信号
5.2 分析男女声音的频谱
x=wavread(' C:UsersacerDesktop数字信号sound2.wav ');%播放原始信号,解决落后半拍
wavplay(x,fs);%播放原始信号 N=length(x);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;
f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(1);subplot(2,2,1);plot(x);%录制信号的时域波形
title('原始女生信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(x);%快速傅立叶变换 subplot(2,2,2);plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始女生信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 grid;%加网格
[y,fs,bits]=wavread(' C:UsersacerDesktop数字信号sound.wav ');% 对语音信号进行采样
wavplay(y,fs);%播放原始信号 N=length(y);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 subplot(2,2,3);plot(y);%录制信号的时域波形
title('原始男生信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格
y0=fft(y);%快速傅立叶变换
subplot(2,2,4);%在四行两列的第三个窗口显示图形 plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始男生信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 grid;%加网格
5.3男女声音的频谱图
原始女生信号的时域波形0.50-0.5-1150100原始女生信号的频谱图幅值/A幅值 012345000x 10原始男生信号的时域波形0.50.5频率w/pi原始男生信号的频谱图1300200幅值/A0幅值 012x 1034100-0.5000.5频率w/pi1
图5.3男女声音信号波形与频谱对比
分析:就时域图看,男生的时域图中振幅比女生的高,对于频谱图女生的高频成分比较多
6.噪声的叠加和滤除
6.1录制一段背景噪声
Fs=8000;%抽样频率 time=3;%录音时间 fprintf('按Enter键录音%ds',time);%文字提示 pause;%暂停命令 fprintf('录音中......');x=wavrecord(time*Fs,Fs,'double');%录制语音信号
fprintf('录音结束');%文字提示 fprintf('按Enter键回放录音');pause;%暂停命令 wavplay(x,Fs);%按任意键播放语音信号 wavwrite(x,Fs,'C:UsersacerDesktop数字信号噪音.wav');%存储语音信号
6.2 对噪声进行频谱的分析
[x1,fs,bits]=wavread(' C:UsersacerDesktop数字信号噪音.wav ');%对语音信号进行采样
wavplay(x1,fs);%播放噪声信号 N=length(x1);%返回采样点数 df=fs/N;%采样间隔
n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(5);subplot(3,2,1);plot(x1);%信号的时域波形 title('噪声信号的时域波形');grid;ylabel('幅值/A');y0=fft(x1);%快速傅立叶变换
subplot(3,2,2);plot(f,abs(y0(n1)));%噪声信号的频谱图 ylabel('幅值');title('噪声信号的频谱图');
6.3原始信号与噪音的叠加
fs=8000;[x,fs,bits]=wavread(' C:UsersacerDesktop数字信号sound.wav ');%对录入信号进行采样
[x1,fs,bits]=wavread(' C:UsersacerDesktop数字信号噪音.wav ');%对噪声信号进行采样
yy=x+x1;%将两个声音叠加
6.4叠加信号的频谱分析:
wavplay(yy,fs);%播放叠加后信号 N=length(yy);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(5);subplot(3,2,3);plot(yy,'LineWidth',2);%信号的时域波形
title('叠加信号的时域波形');xlabel('时间/t');ylabel('幅值/A');grid;y0=fft(yy);%快速傅立叶变换 subplot(3,2,4);plot(f,abs(y0(n1)));%叠加信号的频谱图 title('叠加信号的频谱图');xlabel('频率w/pi');ylabel('幅值/db');grid;
6.5 设计一个合适的滤波器将噪声滤除 fs=18000;%采样频率 Wp=2*1000/fs;%通带截至频率 Ws=2*2000/fs;%阻带截至频率 Rp=1;%最大衰减 Rs=100;%最小衰减
[N,Wn]=buttord(Wp,Ws,Rp,Rs);%buttord函数(n为阶数,Wn为截至频率)
[num,den]=butter(N,Wn);%butter函数(num为分子系数den为分母系数)
[h,w]=freqz(num,den);%DTFT变换
ys=filter(num,den,yy);%信号送入滤波器滤波,ys为输出 fftwave=fft(ys);%将滤波后的语音信号进行快速傅立叶变换 figure(5);subplot(3,2,5);plot(ys);%信号的时域波形
title('低通滤波后信号的时域波形');%加标题 ylabel('幅值/A');%显示标表示的意义 grid;%网格 subplot(3,2,6);plot(f, abs(fftwave(n1)));%绘制模值 title('低通滤波器滤波后信号的频谱图');%标题 xlabel('频率w/pi');ylabel('幅值/A');%显示标表示的意义 grid;%加网格
wavplay(ys,8000);%播放滤波后信号 grid;图形如下:
噪声信号的时域波形1100噪声信号的频谱图幅值/A0-1幅值0123450000.5叠加信号的频谱图1x 10叠加信号的时域波形10-101时间/t2200幅值/db34幅值/A100000.5频率w/pi1x 10低通滤波后信号的时域波形0.5低通滤波器滤波后信号的频谱图200幅值/A0-0.5幅值/A012x 1034100000.5频率w/pi1
图6.1噪音的叠加与滤除前后频谱对比
7.结果分析
1.录制刚开始时,常会出现实际发出声音落后录制动作半拍,可在[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav')加 窗[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav',[100 10000]),窗的长度可根据需要定义。
2.语音信号通过低通滤波器后,把高频滤除,声音变得比较低沉。当通过高通滤波器后,把低频滤除,声音变得比较就尖锐。通过带通滤波器后,声音比较适中。
3.通过观察男生和女生图像知:时域图的振幅大小与性别无关,只与说话人音量大小有关,音量越大,振幅越大。频率图中,女生高 27
频成分较多。
4.叠加噪声后,噪声与原信号明显区分,但通过低通滤波器后,噪声没有滤除,信号产生失真。原因可能为噪声与信号频率相近无法滤除。
第2部分 课程设计总结
通过本次课程设计,使我们对数字信号处理相关知识有了更深刻的理解,尤其是对各种滤波器的设计。在设计的过程中遇到了很多问题,刚刚开始时曾天真的认为只要把以前的程序改了参数就可以用了,可是问题没有我想象中的那么简单,单纯的搬程序是不能解决问题的。通过查阅资料和请教同学收获了很多以前不懂的理论知识。再利用所学的操作,发现所写的程序还是没有能够运行,通过不断地调试,运行,最终得出了需要的结果。整个过程中学到了很多新的知识,特别是对Matlab的使用终于有些了解。在以后的学习中还需要深入了解这方面的内容。在这次的课程设计中让我体会最深的是:知识来不得半点的马虎。也认识到自己的不足,以后要进一步学习。
八.参考文献
[1]数字信号处理教程(第三版)程佩青 清华大学出版社 [2]MATLAB信号处理 刘波 文忠 电子工业出版社 [3]MATLAB7.1及其在信号处理中的应用 王宏 清华大学出版社
[4]MATLAB基础与编程入门 张威 西安电子科技大学出版社
[5] 数字信号处理及其MATLAB实验 赵红怡 张常 化学工业出版社
[6]MATLAB信号处理详解 陈亚勇等 人民邮电出版社 [7] 数字信号处理
钱同惠 机械工业出版社 29
第三篇:数字信号处理课程设计
目 录
摘要...........................................................................................................................................1 1 绪论..............................................................................................................................................2
1.1 DSP系统特点和设计基本原则......................................................................................2 1.2 国内外研究动态.............................................................................................................2 2系统设计........................................................................................................................................3 3硬件设计........................................................................................................................................5
3.1 硬件结构...........................................................................................................................5 3.2 硬件电路设计...................................................................................................................7
3.2.1 总输入电路...........................................................................................................7 3.2.2 总输出电路...........................................................................................................7 3.2.3 语音输入电路.......................................................................................................9 3.2.4 语音输出电路.......................................................................................................9 实验结果及分析.........................................................................................................................10 4.1 实验结果.........................................................................................................................10 4.2 实验分析.........................................................................................................................12 5 总结与心得体会.........................................................................................................................13 参考文献.........................................................................................................................................14 致谢................................................................................................................................................15
摘要
基于DSP的语音信号处理系统,该系统采用TMS320VC5509作为主处理器,TLV320AIC23B作为音频芯片,在此基础上完成系统硬件平台的搭建和软件设计,从而实现对语音信号的采集、滤波和回放功能,它可作为语音信号处理的通用平台。
语音是人类相互之间进行交流时使用最多、最自然、最基本也是最重要的信息载体。在高度信息化的今天,语音信号处理是信息高速公路、多媒体技术、办公自动化、现代通信及智能系统等新兴领域应用的核心技术之一。通常这些信号处理的过程要满足实时且快速高效的要求,随着DSP技术的发展,以DSP为内核的设备越来越多,为语音信号的处理提供了良好的平台。本文设计了一个基于TMS320VC5509定点的语音信号处理系统,实现对语音信号的采集、处理与回放等功能,为今后复杂的语音信号处理算法的研究和实时实现提供一个通用平台。
关键词:语音处理;DSP;TMS320VC5509;TLV320AIC23B
1 绪论
语音是人类相互间所进行的通信的最自然和最简洁方便的形式,语音通信是一种理想的人机通信方式。语音通信的研究涉及到人工智能、数字信号处理、微型计算机技术、语言声学、语言学等许多领域,所以说语音的通信是一个多学科的综合研究领域,其研究成果具有重要的学术价值。另外通过语音来传递信息是人类最重要的、最有效、最常用的交换信息的形式。语言是人类特有的功能,声音是人类常用的工具,是相互传递信息的主要手段。同时也是众构成思想交流和感情沟通的最主要的途径。
1.1 DSP系统特点和设计基本原则
DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
1.2 国内外研究动态
语音信号处理作为一个重要的研究领域,已经有很长的研究历史。但是它的快速发展可以说是从1940年前后Dudley的声码器和Potter等人的可见语音开始的;20世纪60年代中期形成的一系列数字信号处理的理念和技术基础;到了80年代,由于矢量量化、隐马尔可夫模型和人工神经网络等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。
在通信越来越发达的当今世界,尤其最近几十年,语音压缩编码技术在移动 通信、IP电话通信、保密通信、卫星通信以及语音存储等很多方面得到了广泛的应用。因此,语音编码一直是通信和信号处理的研究热点,并其取得了惊人的进展,目前在PC机上的语音编码已经趋于成熟,而如何在嵌入式系统中实时实现语音压缩编码则是近些年来语音信号处理领域的研究热点之一。
2系统设计
在实际生活中,当声源遇到物体时会发生反射,反射的声波和声源声波一起传输,听者会发现反射声波部分比声源声波慢一些,类似人们面对山体高声呼喊后可以在过一会儿听到回声的现象。声音遇到较远物体产生的反射会比遇到较近的反射波晚些到达声源位置,所以回声和原声的延迟随反射物体的距离大小改变。同时,反射声音的物体对声波的反射能力,决定了听到的回声的强弱和质量。另外,生活中的回声的成分比较复杂,有反射、漫反射、折射,还有回声的多次反射、折射效果。
当已知一个数字音源后,可以利用计算机的处理能力,用数字的方式通过计算模拟回声效应。简单的讲,可以在原声音流中叠加延迟一段时间后的声流,实现回声效果。当然通过复杂运算,可以计算各种效应的混响效果。如此产生的回声,我们称之为数字回声。
本次实验的程序流程图如下:
图2.1 程序流程图
本次实验的系统框图如下:
图2.2 系统框图
3硬件设计
3.1 硬件结构
图3.1是系统的硬件结构框图, 系统主要包括VC5509和A IC23 两个模块。
图3.1系统硬件结构框图
利用VC5509 的片上外设I2C(Inter-Integrated Circuit, 内部集成电路)模块配置AIC23 的内部寄存器;通过VC5509 的McBSP(Multi channel Buffered Serial Ports, 多通道缓存串口)接收和发送采样的音频数据。控制通道只在配置AIC23 的内部寄存器时工作, 而当传输音频数据时则处于闲置状态。
AIC23通过麦克风输入或者立体声音频输入采集模拟信号, 并把模拟信号转化为数字信号, 存储到DSP的内部RAM中,以便DSP处理。
当DSP完成对音频数据的处理以后, AIC23再把数字信号转化为模拟信号, 这样就能够在立体声输出端或者耳机输出端听到声音。
AIC23能够实现与VC5509 DSP的McBSP端口的无缝连接, 使系统设计更加简单。接口的原理框图, 如下图所示。
图3.2 AIC23与VC5509接口原理图
系统中A IC23的主时钟12 MHz直接由外部的晶振提供。MODE接数字地, 表示利用I2 C控制接口对AIC23传输控制数据。CS接数字地, 定义了I2 C总线上AIC23的外设地址, 通过将CS接到高电平或低电平, 可以选择A IC23作为从设备在I2 C总线上的地址。SCLK和SDIN是AIC23控制端口的移位时钟和数据输入端,分别与VC5509的I2C模块端口SCL和SDA相连。
收发时钟信号CLKX1和CLKR1由A IC23的串行数据输入时钟BCLK提供, 并由A IC23的帧同步信号LRCIN、LRCOUT启动串口数据传输。DX1和DR1分别与A IC23 的D IN 和DOUT 相连, 从而完成VC5509与AIC23间的数字信号通信。
3.2 硬件电路设计
3.2.1 总输入电路
图3.3 总输入电路
从左到右各部分电路为:
话筒,开关,语音输入电路,UA741高增益放大电路,有源二阶带 通滤波器。
3.2.2 总输出电路
图3.4 总输出电路
从左到右各部分电路为:
LM386高频功率放大器及其外围器件连接电路,语音输出电路,开关,扬声器。
3.2.3 语音输入电路
图3.5语音输入电路
3.2.4 语音输出电路
图3.6 语音输出电路
语音信号通道包括模拟输入和模拟输出两个部分。模拟信号的输入输出电路如图所示。上图中MICBIAS 为提供的麦克风偏压,通常是3/4 AVDD,MICIN为麦克风输入,可以根据需要调整输入增益。下图中LLINEOUT 为左声道输出,RLINEOUT为右声道输出。用户可以根据电阻阻值调节增益的大小,使语音输入输出达到最佳效果。从而实现良好的模拟语音信号输入与模拟信号的输出。4 实验结果及分析
4.1 实验结果
按“F5”键运行,注意观察窗口中的bEcho=0,表示数字回声功能没有激活。这时从耳机中能听到麦克风中的输入语音放送。将观察窗口中bEcho的取值改成非0值。这时可从耳机中听到带数字回声道语音放送。
分别调整uDelay和uEffect的取值,使他们保持在0-1023范围内,同时听听耳机中的输出有何变化。
当uDelay和uEffect的数值增大时,数字回声的效果就会越加的明显。
图4.1 修改前程序图
图4.2 修改前程序图
图4.3 频谱分析
图4.4 左声道及右声道波形 4.2 实验分析
所以,从本实验可知当已知一个数字音源后,可以利用计算机的处理能力,用数字的方式通过计算模拟回声效应。简单的讲,可以在原声音流中叠加延迟一段时间后的声流,实现回声效果。当然通过复杂运算,可以计算各种效应的混响效果。
声音放送可以加入数字回声,数字回声的强弱和与原声的延迟均可在程序中设定和调整。5 总结与心得体会
通过本次课程设计,我明白了细节决定成败这句话的道理,在实验中,有很多注意的地方,都被忽视了,导致再花费更多的时间去修改,这严重影响了试验的进度。同时,在本次实验中我了解了ICETEK – VC5509 – A板上语音codec芯片TLV320AIC23的设计和程序控制原理,并进一步掌握了数字回声产生原理、编程及其参数选择、控制,以及了解了VC5509DSP扩展存储器的编程使用方法。
这一学期的理论知识学习加上这次课程设计,使我对DSP有了更加深刻的了解,对数字信号的处理功能,软硬件相结合,语音信号的采集与放送等等方面都有了很深的了解,相信本次课程设计,无论是对我以后的学习,还是工作等方面都有一个很大的帮助。因此,本次课程设计让我受益匪浅。
参考文献
[1]李利.DSP原理及应用[M].北京:中国水利水电出版社,2004.[2]王安民,陈明欣,朱明.TMS320C54xxDSP实用技术[M].北京:清华大学出版社,2007 [3]彭启琮,李玉柏.DSP技术[M].成都:电子科技大学出版社,1997 [4]李宏伟,等.基于帧间重叠谱减法的语音增强方法[J].解放军理工大学学报,2001(1):41~44 [5]TexasInstrumentsIncorporated.TMS320C54x系列DSP的CPU与外设[M].梁晓雯,裴小平,李玉虎,译.北京:清华大学出版社,2006 [6]赵力.语音信号处理[M].北京:机械工业出版社,2003比较图4和图5,可以看到1200Hz以上的频谱明显得到了抑制。
[7]江涛,朱光喜.基于TMS320VC5402的音频信号采集与系统处理[J].电子技术用,2002,28(7):70~72[8]TexasInstrumentsIncorporated:TMS320VC5402Datasheet,2001
致谢
在本次课程设计的即将完成之际,笔者的心情无法平静,本文的完成既是笔者孜孜不倦努力的结果,更是指导老师樊洪斌老师亲切关怀和悉心指导的结果。在整个课程设计的选题、研究和撰写过程中,老师都给了我精心的指导、热忱的鼓励和支持,他的精心点拨为我开拓了研究视野,修正了写作思路,对课程设计的完善和质量的提高起到了关键性的作用。另外,导师严谨求实的治学态度、一丝不苟的工作作风和高尚的人格魅力,都给了学生很大感触,使学生终生受益。在此,学生谨向老师致以最真挚的感激和最崇高的敬佩之情。
另外,还要感谢这段时间来陪我一起努力同学,感谢我们这个小团队,感谢每一个在学习和生活中所有给予我关心、支持和帮助的老师和同学们,几年来我们一起学习、一起玩耍,共同度过了太多的美好时光。我们始终是一个团结、友爱、积极向上的集体。
第四篇:数字信号处理课程设计参考题目
数字信号处理课程设计资料
使用MATLAB(或其他开发工具)编程实现下述内容并写出课程设计报告。
一、课程设计参考题目与设计内容(也可自行选题)
设计一基于DFT的信号频谱分析 主要要求:
1.对离散确定信号作如下谱分析:
(1)截取x(n)使x(n)成为有限长序列N,(长度N自己选)写程序计算出x(n)的N点DFT的 X(k),并画出时域序列图和相应的幅频图。
(2)将(1)中x(n)补零加长至M点,长度M自己选(,为了比较补零长短的影响,M可以取两次值,一次取较小的整数,一次取较大的整数),编写程序计算x(n)的M点DFT, 画出时域序列图和两次补零后相应的DFT幅频图。
2.研究信号频域的物理分辨率与信号频域的分析分辨率,明白两者的区别。(1)采集数据x(n)长度取N=16点,编写程序计算出x(n)的16点DFTX(k),并画出相应的幅频图。
(2)采集数据x(n)长度N=16点,补零加长至M点(长度M自己选),利用补零DFT计算 x(n)的频谱并画出相应的幅频图。
(3)采集数据x(n)长度取为M点(注意不是补零至M),编写程序计算出M点采集数据x(n)的的频谱并画出相应的幅频图。
3.对比设计内容1、2中各个仿真图,说明补零DFT的作用。补零DFT能否提高信号的频谱分辨率,说明提高频谱物理分辨率与频谱频域分辨率的措施各是什么?
设计二用窗函数法设计FIR数字低通滤波器 主要要求:
1.熟悉各种窗函数,在MATLAB命令窗下浏览各种窗函数,绘出(或打印)各种窗函数图。
2.编写计算理想低通滤波器单位抽样响应的m函数文件。
3根据指标(低通FIR滤波器的指标自行选择)要求选择窗函数的形状与长度N。4.编写m程序文件,通过调用设计内容2、3的m程序文件,计算所设计的实际低通FIR滤波器的单位抽样响应和频率响应,并打印在频率区间[O,π]上的幅频响应特性曲线,幅度用分贝表示。6.验证所设计的滤波器是否满足指标要求。
7.比较所选窗长N相同但窗形状不同对滤波器设计结果的影响以及选同一种窗函数但窗长N不同时对滤波器设计结果的影响,将结论写在报告中。
设计三 FIR数字滤波器设计 主要要求:
1.分别设计低通、带通、带阻和高通四种数字滤波器(FIR数字滤波器的指标自行选择);
2.说明设计目的,并分别阐述上述四类滤波器的设计原理、设计步骤,并给出所编写的相应的m程序;
3.仿真并打印上述四种滤波器的单位抽样响应和频率响应(频率区间[O,π]上的幅频响应特性曲线),并分析各个滤波器的特点,将结论写在报告中。
设计四
IIR数字滤波器设计 主要要求:
1.分别设计低通、带通、带阻和高通四种数字滤波器(FIR数字滤波器的指标自行选择);
2.说明设计目的,并分别阐述上述四类滤波器的设计原理、设计步骤,并给出所编写的相应的m程序;
3.仿真并打印上述四种滤波器的单位抽样响应和频率响应(频率区间[O,π]上的幅频响应特性曲线),并分析各个滤波器的特点,将结论写在报告中。
设计五语音信号去噪处理 主要要求:
1.在Windows环境下利用录音机或其他软件,录制一段自己的语音信号,时间控制在1秒左右,并对所录制的语音信号进行采样处理; 2.对语音信号做频谱分析,即画出采样后语音信号的时域波形和频域图;在语音信号中加入噪声信号(至少两种不同噪声信号),画出加噪语音信号的时域波形和频域图;
3.根据上步加噪语音信号频谱分析结果,确定数字滤波器的技术指标,设计合适的数字滤波器滤除噪声信号,并画出滤波器的频率响应曲线;
4.用所设计的数字滤波器对加噪语音信号进行滤波,并画出滤波后语音信号的时域波形和频域图,对滤波前后的语音信号进行对比,分析信号的变化; 5.利用MATLAB软件中的sound(x)函数实现对去噪语音信号的回放,验证设计效果。
二、课程设计撰写具体要求 1.阐述所选题目设计目的和要求;
2.阐述所选题目的设计思想(各种理论推导和计算)、系统功能结构及功能说明,并列出相应重要的MATLAB程序; 3.绘出设计中要求的各种曲线,并做出说明;
4.结合设计过程,归纳得出结论,并分析设计中遇到的问题及解决思路和方法; 5.写出设计体会; 6.参考文献;
7.程序源代码清单(放入课程设计报告册附录中)。
8.课程设计内容要求充实,叙述完整,语言流畅,格式规范,15~20页,A4纸打印。
9.课程设计报告封面要求:
10.设计报告要包含摘要关键词(3-5个)11.目录
一设计目的与要求………………………………………页码 二总体设计方案…………………………………………页码 三设计原理、结果与仿真分析…………………………页码 四结论……………………………………………………页码 五心得体会………………………………………………页码 参考文献…………………………………………………页码 附录………………………………………………………页码
特别注意:
1.所有的图要有编号和图名,所有的表也要有编号和表名; 2.数学公式要居中,公式编号右对齐。
第五篇:数字信号处理教学大纲-研究生
数字信号处理教学大纲
1.课程名称:数字信号处理 编号: 2.任课教师姓名:张俊华 职称:副教授 3.开课学期:1 4.授课学时、总学时数:4/54 5.课程学分:3 6.内容提要:
本大纲是为“机械设计、制造与自动化”专业研究生必修棵制定的。本课程的先修课程是“信号与系统”,“信号分析”,“自动控制理论”,“MATLAB语言”。学生在学习本课程后应达到以下要求:
(1)掌握离散时间信号的基本分析方法;(2)
能够设计和实现数字滤波器;
(3)
能够应用数字信号处理的基本理论和方法,解决一些实际问题;
(4)
了解数字信号处理技术的最新进展,为今后从事该领域的工作 打下良好的基础。学时分配(共54学时)第一章
信号与系统概论
离散信号、连续信号、模拟信号、数字信号的概念。离散时间系统的概念,LSI系统的定义,输入输出关系和频率响应。第二章
离散时间系统与信号
掌握序列的概念及其几种典型序列的定义,掌握序列的基本运算,并会判断序列的周期性。掌握线性/移不变/因果/稳定的离散时间系统的概念并会判断,掌握线性移不变系统及其因果性/稳定性判断的充要条件。理解常系数线性差分方程及其用迭代法求解单位抽样响应。了解对连续时间信号的时域抽样,掌握奈奎斯特抽样定理,了解抽样的恢复过程。第三章 Z变换
掌握z变换及其收敛域,掌握因果序列的概念及判断方法,会运用任意方法求z反变换,理解z变换的主要性质,理解z变换与Laplace/Fourier变换的关系,掌握序列的Fourier变换并理解其对称性质,掌握离散系统的系统函数和频率响应,系统函数与差分方程的互求,因果/稳定系统的收敛域。第四章
离散傅里叶变换
理解傅里叶变换的几种形式,了解周期序列的傅里叶级数及性质,掌握周期卷积过程,理解离散傅里叶变换及性质,掌握圆周移位、共轭对称性,掌握圆周卷积、线性卷积及两者之间的关系,了解频域抽样理论,理解频谱分析过程,了解序列的抽取与插值过程。第五章
快速傅里叶变换
理解按时间抽选的基-2FFT算法的算法原理、运算流图、所需计算量和算法特点,理解按频率抽选的基-2FFT算法的算法原理、运算流图、所需计算量和算法特点,理解IFFT算法,了解混合基、分裂基和基-4FFT算法,了解CZT算法,理解线性卷积的FFT算法及分段卷积方法。
第六章
数字滤波器的基本结构
理解数字滤波器结构的表示方法,掌握IIR滤波器的基本结构,掌握FIR滤波器的直接型、级联型、线性相位结构,理解频率抽样型结构,了解数字滤波器的格型结构。第七章 IIR数字滤波器的设计方法
理解数字滤波器的基本概念,了解最小相位延时系统,理解全通系统的特点及应用,掌握冲激响应不变法,掌握双线性变换法,掌握Butterworth、Chebyshev低通滤波器的特点,了解利用模拟滤波器设计IIR数字滤波器的设计过程,了解利用频带变换法设计各种类型数字滤波器的方法。
第八章
FIR数字滤波器的设计方法
掌握线性相位FIR数字滤波器的特点,掌握窗函数设计法,理解频率抽样设计法,了解设计FIR滤波器的最优化方法,理解IIR与FIR数字滤波器的比较。第九章
数字信号处理的实现
掌握在通用微机上,用软件实现,掌握用单片机实现,了解专用数字信号处理芯片DSP。教学方式和考核方式、授课、考试 8 指定教材与参考书目
(1)胡广书,数字信号处理——理论、算法与实现(第二版),清华大学出版社,2003年8月
(2)程佩青,数字信号处理教程,清华大学出版社(3)俞卞章,数字信号处理(第2版),西北工业大学出版社
(4)V.奥本海姆,R.W.谢弗著,黄建国等译,离散时间信号处理,科学出版社