语音信号处理_第1页
语音信号处理_第2页
语音信号处理_第3页
语音信号处理_第4页
语音信号处理_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计任务书1设计目的:1、通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力;2、掌握Matlab使用方法,能熟练运用该软件设计并完成相应的信息处理;3、通过信息处理实践的课程设计,掌握设计信息处理系统的思维方法和基本开发过程。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):(1)掌握USB总线或PCI总线的基本结构,了解基于USB总线或PCI总线A/D卡的通用结构。(2)写出关于基于USB总线或PCI总线A/D卡的报告。(3)通过A/D卡,利用高级语言编写信号的采集、存储和显示程序。A在windo

2、ws下录制自己的一段语音信号或选取一段MP3文件;B在语音信号上分别叠加均匀白噪声和高斯白噪声,使信噪比为(学号)dB;C对叠加噪声前后的信号进行频谱分析,确定降噪的滤波器指标;D根据滤波器指标利用频率抽样法设计滤波器,在Matlab平台下编写程序,并观察分析滤波器的幅频特性、相频特性和群延时,以及滤波前后信号时域特性和频域特性。3设计工作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:每个同学独立完成自己的任务,每人写一份设计报告,在课程设计论文中写明自己设计的部分,给出设计结果。课程设计任务书4主要参考文献:1. 郑君里等.信号与系统(第二版).北京:高等教育出版社.2

3、0002.程佩清等.数字信号处理(第二版).北京:清华大学出版社.20013.陈利学等.微机总线与接口设计.成都:电子科技大学出版社.19974.刘波等.MATLAB信号处理.北京:电子工业出版社.20065.王彬等.MATLAB数字信号处理.北京:机械工业出版社.20065设计成果形式及要求:毕业设计说明书仿真结果6工作计划及进度:2016年1月4日1月9日:查资料;1月10日1月18日:在指导教师指导下设计方案;1月19日1月21日:撰写课程设计说明书;1月22日:答辩系主任审查意见:签字:年月日目录1.设计目的12.设计内容13.基于PCI总线A/D卡13.1 PCI总线的基本结构13.

4、2 基于PCI的A/D卡的工作原理33.3 A/D转换过程44.设计原理64.1 FIR数字滤波器的设计原理64.2 频率抽样法65主要算法及程序85.1采样85.2加噪95.3频谱分析105.4设计滤波器136 设计评述207 参考文献201.设计目的1、通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力;2、掌握Matlab使用方法,能熟练运用该软件设计并完成相应的信息处理;3、通过信息处理实践的课程设计,掌握设计信息处理系统的思维方法和基本开发过程。2.设计内容(1)掌握USB总线或PCI总线的基本结构,了解基

5、于USB总线或PCI总线A/D卡的通用结构。(2)写出关于基于USB总线或PCI总线A/D卡的报告。(3)通过A/D卡,利用高级语言编写信号的采集、存储和显示程序。A在windows下录制自己的一段语音信号或选取一段MP3文件;B在语音信号上分别叠加均匀白噪声和高斯白噪声,使信噪比为(学号)dB;C对叠加噪声前后的信号进行频谱分析,确定降噪的滤波器指标;D根据滤波器指标利用频率抽样法设计滤波器,在Matlab平台下编写程序,并观察分析滤波器的幅频特性、相频特性和群延时,以及滤波前后信号时域特性和频域特性。3.基于PCI总线A/D卡3.1 PCI总线的基本结构1.PCI总线PCI总线由HOST主

6、桥或者PCI桥管理,用来连接各类设备,如声卡、网卡和IDE接口卡等。在一个处理器系统中,可以通过PCI桥扩展PCI总线,并形成具有血缘关系的多级PCI总线,从而形成PCI总线树型结构。在处理器系统中有几个HOST主桥,就有几颗这样的PCI总线树,而每一颗PCI总线树都与一个PCI总线域对应。2.PCI设备在PCI总线中有三类设备,PCI主设备、PCI从设备和桥设备。其中PCI从设备只能被动地接收来自HOST主桥,或者其他PCI设备的读写请求;而PCI主设备可以通过总线仲裁获得PCI总线的使用权,主动地向其他PCI设备或者主存储器发起存储器读写请求。而桥设备的主要作用是管理下游的PCI总线,并转

7、发上下游总线之间的总线事务。一个PCI设备可以即是主设备也是从设备,但是在同一个时刻,这个PCI设备或者为主设备或者为从设备。PCI总线规范将PCI主从设备统称为PCIAgent设备。在处理器系统中常见的PCI网卡、显卡、声卡等设备都属于PCIAgent设备。在PCI总线中,HOST主桥是一个特殊的PCI设备,该设备可以获取PCI总线的控制权访问PCI设备,也可以被PCI设备访问。但是HOST主桥并不是PCI设备。PCI规范也没有规定如何设计HOST主桥。在PCI总线中,还有一类特殊的设备,即桥设备。桥设备包括PCI桥、PCI-to-(E)ISA桥和PCI-to-Cardbus桥。PCI桥的存

8、在使PCI总线极具扩展性,处理器系统可以使用PCI桥进一步扩展PCI总线。PCI桥的出现使得采用PCI总线进行大规模系统互连成为可能。但是在目前已经实现的大规模处理器系统中,并没有使用PCI总线进行处理器系统与处理器系统之间的大规模互连。因为PCI总线是一个以HOST主桥为根的树型结构,使用主从架构,因而不易实现多处理器系统间的对等互连。PCI桥可以连接两条PCI总线,上游PCI总线和下游PCI总线,这两个PCI总线属于同一个PCI总线域,使用PCI桥扩展的所有PCI总线都同属于一个PCI总线域。其中对PCI设备配置空间的访问可以从上游总线转发到下游总线,而数据传送可以双方向进行。3.HOST

9、处理器PCI总线规定在同一时刻内,在一颗PCI总线树上有且只有一个HOST处理器。这个HOST处理器可以通过HOST主桥,发起PCI总线的配置请求总线事务,并对PCI总线上的设备和桥片进行配置。在PCI总线中,HOST处理器是一个较为模糊的概念。在SMP(symmetricmultiprocessing)处理器系统中,所有CPU都可以通过HOST主桥访问其下的PCI总线树,这些CPU都可以作为HOST处理器。但是值得注意的是,HOST主桥才是PCI总线树的实际管理者,而不是HOST处理器。在HOST主桥中,设置了许多寄存器,HOST处理器通过操作这些寄存器管理这些PCI设备。4.PCI总线的负

10、载PCI总线的所能挂接的负载与总线频率相关,其中总线频率越高,所能挂接的负载越少。下文以PCI总线和PCI-X总线为例说明总线频率、峰值带宽和负载能力之间的关系,如表3.1所示。表3.1 PCI总线频率、宽带与负载之间的关系如表所示,PCI总线频率越高,所能挂接的负载越少,但是整条总线所能提供的带宽越大。在PCI总线中,一个插槽相当于两个负载,接插件和插卡各算为一个负载,在表3.1中,33MHz的PCI总线可以挂接4-5个插槽,相当于直接挂接8-10个负载。3.2 基于PCI的A/D卡的工作原理A/D转换器即模数转换器,通常是指一个将模拟信号转变为数字信号的电子元件。A/D转换一般要经过采样、

11、保持、量化及编码4个过程。模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。1.连接器介绍信号连接器有通道信号,PCI总线接口,外触发,多卡扩展同步接口等4种,以下分别介绍。通道信号接口:位于采集卡的尾部,信号用同轴电缆接入。一张采集卡最多只有4个通道,也可能少于4个通道,视用户的需求而定。PCI

12、总线接口:采集卡与上位PC机的数据和控制信号通信接口。其采用32位PCI总线。外触发接口:用于接外触发信号用。多卡扩展同步接口:用于多卡扩展。其传输的信号包括主卡的同步时钟源、触发以及状态信号。一般用16针带缆连接。2.工作原理图图3.1 PCI数据采集工作原理图3.3 A/D转换过程图3.2 A/D转换过程图如图3.2所示,当启动采集后,A/D转换后的数据经锁存,然后保存于每通道独立的卡上存储器中。卡上存储器相当于环形缓冲,如果A/D转换的数据样点数超过了卡上存储器的最大容量,新数据会覆盖旧数据。这个过程是周而复始的,只有当触发条件满足后,门阵列开始计数,计数达到指定值(该值由采集长度决定)

13、后,采集结束,卡上存储器保存了满足用户需要的采集数据。上位机通过PCI接口门阵列经由门阵列控制核心取得卡上存储器样点数据。上过程每通道是独立进行的。每通道卡上存储器最多可存储8M样点,且此参数可由DIP开关设置。模数转换过程包括量化和编码。量化是将模拟信号量程分成许多离散量级,并确定输入信号所属的量级。编码是对每一量级分配唯一的数字码,并确定与输入信号相对应的代码。最普通的码制是二进制,它有2的n次方个量级(n为位数),可依次逐个编号。模数转换的方法很多,从转换原理来分可分为直接法和间接法两大类。直接法是直接将电压转换成数字量。它用数模网络输出的一套基准电压,从高位起逐位与被测电压反复比较,直

14、到二者达到或接近平衡(见图)。控制逻辑能实现对分搜索的控制,其比较方法如同天平称重。先使二进位制数的最高位Dn-1=1,经数模转换后得到一个整个量程一半的模拟电压VS,与输入电压Vin相比较,若Vin>VS,则保留这一位;若Vin<Vs,则Dn-1=0。然后使下一位Dn-2=1,与上一次的结果一起经数模转换后与Vin相比较,重复这一过程,直到使D0=1,再与Vin相比较,由Vin>VS还是Vin<V来决定是否保留这一位。经过n次比较后,n位寄存器的状态即为转换后的数据。这种直接逐位比较型(又称反馈比较型)转换器是一种高速的数模转换电路,转换精度很高,但对干扰的抑制能力较

15、差,常用提高数据放大器性能的方法来弥补。它在计算机接口电路中用得最普遍。间接法不将电压直接转换成数字,而是首先转换成某一中间量,再由中间量转换成数字。常用的有电压-时间间隔(V/T)型和电压-频率(V/F)型两种,其中电压-时间间隔型中的双斜率法(又称双积分法)用得较为普遍。模数转换器的选用具体取决于输入电平、输出形式、控制性质以及需要的速度、分辨率和精度。用半导体分立元件制成的模数转换器常常采用单元结构,随着大规模集成电路技术的发展,模数转换器体积逐渐缩小为一块模板、一块集成电路。4.设计原理4.1 FIR数字滤波器的设计原理滤波器就是在时间域或频率域内。对已知的激励,产生规定的规定响应的网

16、络,是其能够从信号中提取并放大有用的信号,抑制并衰弱不需要的信号。数字滤波器的设计,实质上就是对提出的设计要求给出相应的性能指标,再通过计算,是物理可实现的实际滤波器频率响应特性,逼近给出的频率响应特性,设计完成后,可根据计算的结果在FPGA或DSP上实现。FIR数字滤波器系统的传递函数为:由此得到系统函数的差分方程:y(n)=b(0)x(n)+b(1)x(n-1)+b(N-1)xn-(N-1)若FIR数字滤波器的单位脉冲响应序列为h(n),他就是滤波器系数向量b(n)。应用Matlab设计FIR滤波器的主要任务就是根据给定的性能指标,设计一个H(z),使其逼近这一指标,进而计算并确定滤波器的

17、系数b(n),再将所设计的滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。4.2 频率抽样法频率抽样法根据序列傅里叶的变换与离散傅里叶变换的关系,一个任意长的序列,对它的频率特性进行N等分间隔抽样,利用离散傅里叶反变换,可以得到一个N点的有限长序列。这个有限长序列是原序列以N为周期的周期序列的主值序列,因而它的频率特性也将逼近原序列所对应的频率特性。因而,对一个理想的频响Hd(e),其对应的单位抽样响应的是h(n),如果对H在单位圆作N等分间隔抽样,得到N个频率抽样值H,由H(k)经IDFT得到N点的有限长序列h(n),则式中(n)是N点矩阵序列。h(n)是

18、的主值序列,因此,由h(n)求得的频率响应H()逼近,这就是频率抽样法的基本过程,从而频率抽样法设计的基本步骤可归纳为:对抽样所得H(k)表示为:这个或将逼近或,和的内插公式为 (41) (42)其中是内插函数 (43)将式(43)代入(42)式,化简后可得 (44)即 (45)从内插公式(42)看到,在各频率抽样点上,滤波器的实际频率响应是严格地和理想频率响应数值相等,即。但是在抽样点之间的频率响应则是由各抽样点的加权内插函数的延伸叠加而形成的,因而有一定的逼近误差,误差大小取决于理想频率响应曲线形状,理想频率响应特性变化越平缓,则内插值越接近理想值,逼近误差越小,如图4.1梯形理想频率特性

19、所示。反之,如果抽样点之间的理想频率特性变化越陡,则内插值与理想值之误差就越大,因而在理想频率特性的不连续点附近,就会产生肩峰和波纹,如图4.2矩形理想频率特性所示。图4.1梯形理想频率特性图4.2矩形理想频率特性5主要算法及程序5.1采样x,fs,Nbits =wavread('D:lc8s.wav') ; %读声音文件 t=0:1/fs:(length(x)-1)/fs; %求出语音信号的长度 y1=fft(x,n1) ; %傅里叶变换 y2=fftshift(y1); %对频谱图进行平移f=0:fs/n1:fs*(n1-1)/n1; %得出频点 subplot(2,1,1

20、) ; plot(t/2,x) ; %做原始语音信号的时域图形 title('原始信号时域波形图');subplot(2,1,2); plot(f,abs(y2);title('原始信号频谱图')程序结果:图5.1 原始信号时域和频域图形5.2加噪 h1=awgn(x,1); %产生高斯白噪声并在语音信号上叠加 h2= -.3+.6*rand(1,201); %产生均匀白噪声 sound(h1,fs,Nbits); %读出加高斯白噪声 wavwrite(h2,'shengyin.wav'); %将均匀白噪声写入'shengyin.wav&

21、#39; x1,fs1,Nbits1 =wavread('shengyin.wav'); %读'shengyin.wav'文件 sound(h2,fs,Nbits); %读出均匀白噪声信号 %在声音信号上叠加均匀白噪声 wavin1=resample(x1,fs,fs1); nx=size(x,1);wavin1(nx,:)=0;NOISE1=wavin1(1:nx);NOISE1=NOISE1-mean(NOISE1);signal_power = (1/nx)*sum(x.*x);noise_variance = signal_power / ( 10(1/

22、10) ); %其中1/10中 1 为SNRnoise2=std(NOISE1);m1,n1=size(noise_variance);m2,n2=size(NOISE1);a=max(m1,m2);b=max(n1,n2);noise_variance(b,a)=0;NOISE1(a,b)=0;NOISE1=sqrt(noise_variance)/noise2*NOISE1;c1,d1=size(x);c2,d2=size(NOISE1);a1=max(c1,c2);b1=max(d1,d2);x(a1,b1)=0;NOISE1(a1,b1)=0;Y=x+NOISE1;wavwrite(Y

23、,'junyun.wav'); %将叠加之后的信号写入'junyun.wav'x3,fs3,Nbits3 =wavread('junyun.wav') %读'junyun.wav'文件sound(x3,fs,Nbits);%信噪比为15.3频谱分析 %叠加高斯白噪声后信号的图形n2=length(h1); %求出加高斯白噪声后语音信号的长度 y3=fft(h1,n2) ; %傅里叶变换y4=fftshift(y3); %对频谱图进行平移figure(2); %画图subplot(2,1,1) ;plot(h1) %做加噪信号的时域

24、图形 title('加噪信号时域波形图');subplot(2,1,2); plot(f,abs(y4); %做加噪信号的频域图形title('加噪信号频谱图') 程序结果:图5.2 %叠加均匀白噪声后信号的图形 y5=fft(h2); %傅里叶变换 y6=fftshift(y5); %对频谱图进行平移figure(3); %画图subplot(2,1,1) ;plot(h2); %均匀白噪声时域图形title('均匀白噪声时域图形');subplot(2,1,2); plot(abs(y6);title('均匀白噪声频谱图');

25、 %均匀白噪声信号的频域图形y7=fft(Y); %傅里叶变换y8=fftshift(y7); %对频谱图进行平移figure(4); %画图subplot(2,1,1) ;plot(Y); %加均匀白噪声后时域图形 title('加均匀白噪声时域图形'); subplot(2,1,2); plot(f,abs(y8); %加均匀白噪声后频域图形title('加均匀白噪声频谱图');程序结果:图5.3图5.4由上述程序结果可以确定滤波器降噪指标为:Wc=3800/48000*2*pi=0.16*pi;Wp=5000/48000*2*pi=0.21*pi;W=Wc

26、-Wp=0.05*pi;st80dB;m=1满足st80dB,此时N=(m+1)2/0.05=80,此时取奇数为81。5.4设计滤波器x,fs,Nbits =wavread('D:lc8s.wav') ;N=length(x) ; % 计算信号x的长度 fn=1900; t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率 x=x(:,1); x=x' h1=awgn(x,1); X=abs(fft(x); Y=abs(fft(h1); % 对原始和加噪信号进行fft变换 X=X(1:length(X)/2); Y=Y(1:length(Y)/2)

27、; deltaf=fs/2/length(X); %计算频谱的谱线间隔 f=0:deltaf:fs/2-deltaf; %计算频谱频率范围 wc=0.16*pi; %截止频率 delta_w=0.05*pi; %过渡带宽 m=1; T=0.38; N=round(m+1)*2*pi/delta_w+0.5); N1=round(N+1)/2; Nc=fix(wc*N/(2*pi); F=linspace(0,1,N1); A=ones(1,Nc+1),T,zeros(1,N1-Nc-m-1); hn=fir2(N,F,A); b,a=fir2(N,F,A); y_fil=fftfilt(hn,

28、h1); %用设计好的滤波器对y进行滤波 Y_fil=abs(fft(y_fil);Y_fil=Y_fil(1:length(Y_fil)/2); %计算频谱取前一段 %画图 figure(1); subplot(2,1,1);plot(t,x);grid on; xlabel('时间');ylabel('时域原始信号');title('时域原始信号'); subplot(2,1,2);plot(f,X);grid on; xlabel('频率');ylabel('原始信号频谱');title('原始信号频

29、谱'); figure(2); subplot(2,1,1);plot(t,h1);grid on; xlabel('时间');ylabel('加噪信号');title('加噪信号'); subplot(2,1,2);plot(f,Y);grid on; xlabel('频率');ylabel('加噪信号频谱');title('加噪信号频谱'); figure(3); subplot(2,1,1);plot(t,y_fil);grid on; xlabel('时间');yla

30、bel('滤波信号');title('滤波信号'); subplot(212);plot(f,Y_fil);grid on; xlabel('频率');ylabel('滤波信号频谱');title('滤波信号频谱'); sound (y_fil,fs,Nbits); 程序结果:图5.5原始信号时域和频谱图图5.6加噪信号时域和频域图形图5.7滤波后信号的时域和频域图形%显示滤波器的幅频响应,相频响应,群延迟特性 pr2(b,a); db,mag,pha,grad,w = myfreqz(b,a) figure(5)

31、; subplot 211; plot(w/pi,20*log10(mag); xlabel('omega/pi');ylabel('dB');title('幅频特性') subplot 212; plot(w/pi,20*log10(pha); xlabel('omega/pi');ylabel('dB');title('相频特性');grpdelay(b,a);%pr2函数function pr2(b,a)m=0:length(b)-1; %m从0 到3l=0:length(a)-1; %l从0 到3K=5000;k=1:K;w=pi*k/K; %角频率wH=(b*exp(-j*m'*w)./(a*exp(-j*l'*w); %对系统函数的定义magH=abs(H); %magH为幅度angH=angle(H); %angH为相位figure(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论