您好,欢迎访问三七文档
信息与电气工程学院梁维伟赵星星杨浩周刚《数字信号处理》探究性课题信息05-2班梁维伟(04051805)杨浩(04051819)赵星星(04051822)周刚(04051823)说明:数字信号处理是利用计算机,以数值计算的方法对信号进行滤波等变换,而MATLAB则为课程学习以及课程实验提供了良好的平台,我们小组的探究性课题探究方向即为MATLAB在信号处理和信号传输的应用。我们小组的初始想法是对音频信号进行优化压缩,并进行数字通信系统传输,但是由于系统过于庞大,编码任务太繁重;转而使用simulink仿真时编码器件又总是出错,所以最后我们将原定系统拆分为两部分,一部分为优化语音信号,另一部分为带通传输系统实验仿真分析。前者充分利用了数字信号处理中的经典滤波部分,后者则将数字信号处理与通信原理课程相结合而进行了系统设计。探究性课题一【第1-5页】对被噪声污染的语音信号进行小波分析和滤波处理在大多数的声音文件中,对音质造成影响的主要是高频的噪声对音乐质量的影响,因此,可以利用数字低通滤波器对其进行处理,进而把噪声成分滤处掉;另外由于大部分信号都是分为左右两个声道的,为了达到更好的滤波效果,我们可以在滤波之前先把信号分解成为左右声道两个信号,然后对其滤波,最后再将两个信号合成即可得到所要的波形。探究性课题二【第6-9页】基于Matlab的带通传输系统仿真实验设计数字带通传输系统就是包络调制和解调过程的数字传输系统,通过用Matlab编写脚本程序对FSK调制的带通传输系统的具体实现进行模拟仿真,对于理解FSK系统的性能并在系统上作进一步的设计,提供极大的便利。数字信号处理课程总结【第10页】信息与电气工程学院梁维伟赵星星杨浩周刚1探究性课题一对被噪声污染的语音信号进行小波分析和滤波处理梁维伟赵星星杨浩周刚摘要高频噪声是影响音质的主要因素,利用MATLAB将信号分为左右声道,利用数字滤波器滤掉左右声道噪声成分,最后综合两个信号即得到理想音质的信号。关键词左右声道;小波分析;滤波0问题的提出在实际的生活过程中,我们经常听到一些模糊不清的声音,严重影响我们的听觉享受,为了能让我们能有更好的听觉享受,,能不能找到有效的方法来得到更高品质的音乐呢?1问题分析在大多数的声音文件中,对音质造成影响的主要是高频的噪声对音乐质量的影响,因此,可以利用数字低通滤波器对其进行处理,进而把噪声成分滤处掉;另外由于大部分信号都是分为左右两个声道的,为了达到更好的滤波效果,我们可以在滤波之前先把信号分解成为左右声道两个信号,然后对其滤波,最后再将两个信号合成即可得到所要的波形。2问题的解决方案首先,我们选取一个被高频噪声污染的信号,而后我们利用wavread()函数将其进行不同频率的采样,从而把信号分解成为左右两个不同声道的信号,而后利用单层一维小波变换函数dwt()对左右两个信号分别进行分解。而后我们自己利用椭圆滤波器为原型设计了一个低通滤波器,滤波器的通带截止频率为0.2π,最大通带衰减为1dB,而阻带截止频率为0.3π,最小阻带衰减为15dB,然后让左右声道信号分别通过滤波器,而后将两个信号叠加便形成了所得的信号。3程序清单formatcompact[W,fs,bits]=wavread('C:\xingxing.wav',[2048*16,2048*24]);winrect=[10,10,20,20];figure;set(gcf,'position',winrect);subplot(2,1,1);plot(W(:,1));title('左声道的波形');subplot(2,1,2);plot(W(:,2));title('右声道的波形');dwtmode('sym');[cA_L,cD_L]=dwt(W(:,1),'coif4');[cA_R,cD_R]=dwt(W(:,2),'coif4');l=length(cA_L);figure;set(gcf,'position',winrect);subplot(2,1,1);plot(cA_L);title('分解后的左声道的波形');subplot(2,1,2);plot(cA_R);title('分解后的右声道的波形');figure;信息与电气工程学院梁维伟赵星星杨浩周刚2%用椭圆滤波器原型设计的低通数字滤波器Rp=1;Rs=15;wp1=0.2*pi;ws1=0.3*pi;T=0.001;wp=(2/T)*tan(wp1/2);ws=(2/T)*tan(ws1/2);[n,wn]=ellipord(wp,ws,Rp,Rs,'s')[b,a]=ellip(n,Rp,Rs,wn,'low','s')[bz,az]=bilinear(b,a,1/T);[db,mag,pha,grd,w]=freqz_m(bz,az);subplot(3,1,1);plot(w/pi,db);xlabel('');ylabel('相对幅度');title('滤波器的幅频相应(相对幅度)')subplot(3,1,2);plot(w/pi,mag);xlabel('');ylabel('绝对幅度');title('滤波器的幅频相应(绝对幅度)')subplot(3,1,3);plot(w/pi,pha);xlabel('频率(单位:pi)');ylabel('相位');title('滤波器的相频相应')figure;%分别对分解后的左右声道的声音进行滤波y1=filter(bz,az,cA_L);y2=filter(bz,az,cA_R);subplot(211);plot(y1);title('滤波后的左声道的波形');subplot(212);plot(y2);title('滤波后的右声道的波形');figure;y=y1+y2;plot(y);title('最终合成的声音的波形');wavwrite(y,22050,'zhaoxingxing2.wav')%生成wav格式的声音文件sound(y,22050);%播放合成的声音4实验所得图形4.1左右声道的波形020004000600080001000012000140001600018000-1-0.500.51左声道的波形020004000600080001000012000140001600018000-0.500.5右声道的波形信息与电气工程学院梁维伟赵星星杨浩周刚34.2分解后的左、右声道的波形4.3滤波器的特性波形00.10.20.30.40.50.60.70.80.91-400-2000200相对幅度幅频相应(相对幅度)00.10.20.30.40.50.60.70.80.9100.51绝对幅度幅频相应(绝对幅度)00.10.20.30.40.50.60.70.80.91-4-2024频率(单位pi)相位相频相应0100020003000400050006000700080009000-1-0.500.51分解后的左声道的波形0100020003000400050006000700080009000-1-0.500.51分解后的右声道的波形信息与电气工程学院梁维伟赵星星杨浩周刚44.4滤波后的左、右声道的波形4.5最终合成声音的波形0100020003000400050006000700080009000-1-0.500.51滤波后的左声道的波形0100020003000400050006000700080009000-1-0.500.51滤波后的右声道的波形0100020003000400050006000700080009000-1-0.8-0.6-0.4-0.200.20.40.60.81最终合成的声音的波形信息与电气工程学院梁维伟赵星星杨浩周刚55结果分析通过波形,以及最终用函数wavwrite()生成的wav文件的效果可以看出,信号中高频分量已经被滤除,而且声音的听觉效果较原来信号也有了提高,由于最后的合并函数设计的不是很好,导致最终的合成信号与原来的有一定的差别,这是我们以后要改进的地方。参考文献[1]王艳芬等.数字信号处理原理及实现.北京:清华大学出版社,2008[2]张明照等.应用MATLAB实现信号分析和处理.北京:科学出版社,2005信息与电气工程学院梁维伟赵星星杨浩周刚6探究性课题二基于Matlab的带通传输系统仿真实验设计梁维伟赵星星杨浩周刚摘要数字带通传输系统就是包络调制和解调过程的数字传输系统,通过用Matlab编写脚本程序对FSK调制的带通传输系统的具体实现进行模拟仿真,对于理解FSK系统的性能并在系统上作进一步的设计,提供极大的便利。关键词数字通信;FSK调制解调;仿真0引言数字信号是二进制数字基带信号时,这种调制成为二进制数字调制。在二进制数字调制中,载波的幅度、频率和相位只有两种变化状态。相应的调制方式有二进制振幅键控(2ASK)、二进制频移键控(2FSK)和二进制相移键控(2PSK)。为了加深学生对带通传输系统以及各种调制方式的理解,实验环节是必不可少的,但是由于传统实验箱式实验的被动性和约束性比较强,不能满足不同层次、不同内容、不同要求的学习需要。而在MATLAB中找到通信系统中的各个相应的函数或函数的组合。使同学们能够轻松地进行通信方面的分析与处理,同时也可以自己编程解决问题。下面以二进制频移键控(2FSK)为例对带通传输系统仿真实验设计进行可行性分析验证。l系统分析原理1.1二进制频移键控原理频移键控是利用载波的频率变化来传递数字信息。在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。在Matlab的通信工具箱中的dmod函数专门用于实现带通数字调制,函数ddemod实现带通数字解调.1.1.1程序结构流程图在编写Matlab脚本程序对带通传输系统进行模拟仿真时,程序结构流程如下图1所示:图1程序结构流程图1.2调制原理2FSK信号的产生方式有两种,这里采用模拟调频电路来实现,即用原始信号经码型变换后直接与载波信号相乘,即得到调制信号。在matlab中可采用函数y=dmod(x,Fc,Fd,Fs,'fsk',M);来实现该调制。同时读者也可根据个人实力自行编制函数。这里给出参考如下:二进制随机序列调制相干解调升余弦滤波高斯噪声序列解调输出信道信息与电气工程学院梁维伟赵星星杨浩周刚7tt=(0:1/fs:ts);t=[tt;tt+ts;tt+2*ts;tt+3*ts;tt+4*ts;tt+5*ts;tt+6*ts;tt+7*ts;tt+8*ts;tt+9*ts];y=zeros(10,length(tt));i=1;whilei=10y(i,:)=x(i)*sin(2*pi*fh*t(i,:))+~x(i)*sin(2*pi*fl*t(i,:));i=i+1;endt=reshape(t',length(tt)*10,1);y=reshape(y',length(tt)*10,1);1.3解调原理2FSK信号的解调方法有包络检波法和相干解调法。这里采用相干解调法,即将信号分解为上下两路,分别解调,然后进行判决。在Matlab中可采用函数z1=ddemod(y,Fc,Fd,Fs,'fsk',M);来实现该解调。1.4升余弦函数实现滤波滤波器选用升余弦滤波器,升余弦滤波器的设计关键是滚降因子的选取,的取值在0到1之间,这里的值取0.5。在matlab中可采用函数[yf,tf]=butter(Fd,Fs,'fir',R,Delay);实现升余弦函数。2实验参考程序functionFSKFc=10;%载频Fs=40;%系统采样频率Fd=1;%码速率N=Fs/Fd;df=10;numSymb=25;%进行仿真的信息代码个数M=2;%进制数SNRpBit=60;%信噪比SNR=SNRpBit/log2(M);seed=[1234554321];numPlot=15;%产生25个二进制随机码x=randsrc(numSymb,1,[0:M-1]);figure(1)stem([0:nu
本文标题:语音信号数字处理
链接地址:https://www.777doc.com/doc-6990573 .html