《数字信号处理》课程设计,基于MATLAB的音乐信号处理和分析
基于MATLAB的音频信号的分析与处理

HEBEINONGJI 农 机
机电·教育·推广
摘 要:本文主要通过 matlab 编程处理音频信号,并设计基本回声系统、IIR 和 FIR 滤波器,分析信号的时域、频域及 音频信号的特点,最终得到对音乐信号处理的结果。
关键词:matlab 程序;音频信号;滤波器设计
基于 MATLAB 的音频信号的分析与处理
与原声音乐对比,再观察滤波后的信号与原信号对比,最终确定
合适的 a 值。 2.2 程序 单回声滤波器 T=0.3; a=0.7; b1=[1,zeros(1,T*f-1),a] ; w=-pi:2*pi/1024:pi; [H,w]=freqz(b1,a); plo(t w/2*pi,abs(H)) figure plo(t w/2*pi,angle(H)) y1=filte(r b1,1,x); sound(y1,f) 无限回声滤波器 b2=[zeros(1,T*f),1]; a2=[1,zeros(1,T*f-1),-a]; w=-pi:2*pi/1024:pi; [H2,w]=freqz(b2,a2); plo(t w/2*pi,abs(H2)) figure plo(t w/2*pi,angle(H2)) 全通滤波器 b3=[a,zeros(1,T*f-1),-1]; a3=[1,zeros(1,T*f-1),-a]; [H3,w]=freqz(b3,a3,1024); plo(t w/2*pi,abs(H3)) plo(t w/2*pi,abs(H3)) 2.3 分析与结论 (1)单回声滤波器又称为梳状滤波器。 (2)信号通过单回声、无限回声滤波器后的幅值与相位均发
46
2019 年 IIR 程序 Fdatool plo(t x) hold on [b3,a3]=t(f Hdi); x1=filte(r b3,a3,x); sound(x1,f)) sound(x,f) plo(t x1,'r') figure X=ff(t x); N=length(x); f1=0:f/N:f-f/N; plo(t f1/1000,abs(X)); hold on Xi=ff(t x1); Ni=length(x1); fi=0:f/Ni:f-f/Ni; plot(fi/1000,abs(Xi),'r') 2.3.2.1FIR 程序 fdatool a=0.7; [b4,a4]=t(f Hdf); x2=filte(r b4,a4,x); sound(x2,f) Xf=ff(t x2); Nf=length(x2); ff=0:f/Nf:f-f/Nf; plot(ff/1000,abs(Xf)) 2.3.3 分析结论 (1)信号经低通滤波器后,高频分量被滤除。 (2)相同指标下,IIR 滤波器比 FIR 滤除效果好。 (3)经滤波器滤波后,音乐信号声音更加圆润,噪声更小。 参考文献: [1]高西全,丁美玉.数字信号处理[M].西安电子科技大学出版 社,2000. [2]陈亚勇.MATLAB 信号处理详解[M].人民邮电出版社,2000. [3]杨树斌.数字信号处理实践教程(第一版)[M].华中科技大 学出版社,2010.
基于matlab的声音信号处理_课程设计任务书

课程设计任务书基于MATLAB的声音信号处理的初步实现内容摘要:数字滤波器是数字信号处理技术的基础, 用来对信号进行过滤、检测、与参数估计等处理。
任何检测的信号都含有噪声,而滤波是去除噪声的基本手段,因此滤波器在数字信号处理中占有极其重要的地位。
FIR数字滤波器和IIR 数字滤波器是滤波器设计的重要组成部分。
随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件,它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。
本设计综合运用了数字信号处理的各种基本知识,对不带噪声音信号以及带噪声音信号进行频谱分析,并利用MATLAB信号处理工具箱有效快捷地设计IIR数字滤波器对带噪声音信号进行滤波处理。
关键词:数字滤波器 MATLAB 滤波仿真The preliminary implementation of voice signalprocessing based on MATLABAbstract: Digital filter is the basis of digital signal processing technology, which used for signal filtering, detecting, and parameter estimation. Any detection signal contains noise, and filtering is a basic means to remove the noise, so filter occupies an extremely important position in digital signal processing.FIR digital filter and IIR digital filter is an important part of the filter design. With MATLAB software and the continuous improvement of the signal processing toolbox, MATLAB application quickly became indispensable to areas such as basic software. It can quickly and efficiently for digital filter design, analysis and simulation, greatly reduce the workload, and it is advantageous to the optimization of filter design. This design is integrated used of all kinds of basic knowledge of digital signal processing to complete the analysis of frequency spectrum about speech noisy signal and speech signal, and it use the MATLAB signal processing toolbox effective shortcut to design IIRdigital filter with noise speech signal filter processing. Keywords:Digital Filter MATLAB Filtering Simulation目录前言 (1)1 绪论 (1)1.1 研究的目的和意义 (1)1.2 国内外研究的现状 (1)1.3 本课题研究的内容和方法 (2)2 MATLAB软件介绍 (2)2.1 MATLAB发展历程 (2)2.2 MATLAB组成 (3)2.2.1 MATLAB语言 (3)2.2.2 MATLAB的工作环境 (3)2.2.3 MATLAB数据函数库 (3)2.2.4 MATLAB应用程序接口 (3)2.2.5 图形句柄系统 (4)2.3 MATLAB的特点 (4)3 数字滤波器的设计 (5)3.1 数字滤波器概述 (5)3.2 数字滤波器设计的基本原理 (6)3.3 设计IIR数字滤波器 (6)3.3.1 IIR数字滤波器设计方法 (6)3.3.2 利用模拟滤波器设计IIR数字滤波器的步骤 (6)3.3.3 用双线性法设计IIR低通滤波器 (7)4 去噪和仿真的研究 (7)4.1 语言信号在MATLAB平台上的录入与打开 (7)4.2 原始语言信号频谱分析及仿真 (8)4.3 加噪语音信号频谱分析及仿真 (9)4.4 去噪及仿真 (10)4.5 回放语音信号 (11)5 结束语 (11)附录 (12)附录1:IIR低通滤波器程序 (12)附录2:产生原始语音信号波形、频谱、幅值、相位图程序 (12)附录3:产生原始语音信号和加噪语音信号时域波形、频谱图程序 (13)附录4:产生IIR滤波前和滤波后波形及频谱图程序 (14)参考文献 (16)基于MATLAB的声音信号处理的初步实现前言声音信号的采集与分析处理在工程应用中是经常需要解决的问题,如何实时采集声音信号并对其分析处理,找出声音信号的特征在科学研究中是一项非常有意义的工作。
数字信号处理课程设计报告-基于MATLAB的语音信号的特技处理

数字信号处理课程设计报告-基于MATLAB的语音信号的特技处理xxxx数字信号处理课程设计报告题目:基于MATLAB 的语音信号的特技处理系 (院): 计算机工程学院专业: 通信工程班级: 通信xx班学号: xxxxxxxx姓名: xxx指导教师: xxx学年学期: 2009 ~ 2010 学年第 1 学期2009年12月 18 日设计任务书课题基于MATLAB 的语音信号的特技处理名称1. 巩固所学的数字信号处理理论知识,理解信号的采集、处理、传输、显示和存储过程;设计2. 综合运用专业及基础知识,解决实际工程技术问题的能力; 目的3. 学习资料的收集与整理,学会撰写课程设计报告。
1. 微型电子计算机(PC); 实验环境 2. 安装Windows 2000以上操作系统,MATLAB等开发工具。
1. 选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,并对其进行频谱分析; 然后在时域用数字信号处理方法将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较;最后设计一个信号处理系统界面。
2. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,任务注意材料收集与整理; 要求3. 在第15周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。
工作进度计划序号起止日期工作内容2009.12.14~2009.12.14 在预设计的基础上,进一步查阅资料,完善设计方案。
12009.12.14~2009.12.17 设计总体方案,构建、绘制流程框图,编写代码,上机调试。
22009.12.17~2009.12.18 测试程序,完善功能,撰写设计报告。
32009.12.18 参加答辩,根据教师反馈意见,修改、完善设计报告。
4指导教师(签字):年月日摘要语音是人们交流思想和进行社会活动的最基本手段,我们要对语音信号进行测定并将其转变为另一种形式,以提高我们的通信能力。
基于MATLAB的数字信号处理..

数字信号处理课程设计报告题目:语音数字信号处理与分析及Matlab实现系别通信工程专业班级学生姓名学号指导教师提交日期摘要本次课程设计综合利用数字信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
本次课程设计要求利用MATLAB对语音信号进行分析和处理,要求学生采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
待处理语音信号是一个在20Hz~20kHz 频段的低频信号。
采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。
利用采样原理设计了高通滤波器、低通滤波器、带通滤波器、带阻滤波器。
同学通过查阅资料自己获得程序进行滤波器的设计,能过得到很好的锻炼。
关键词:MATLAB 滤波器数字信号处理目录第一章绪论 (1)1.1 设计的目的及意义 (1)1.2 设计要求 (1)1.3 设计内容 (1)第二章系统方案论证 (3)2.1 设计方案分析 (3)2.2 实验原理 (3)第三章信号频谱分析 (6)3.1 原始信号及频谱分析 (6)3.2 加入干扰噪声后的信号及频谱分析 (7)第四章数字滤波器的设计与实现 (11)4.1 高通滤波器的设计 (11)4.2 低通滤波器的设计 (12)4.3 带通滤波器的设计 (15)4.4 带阻滤波器的设计 (16)第五章课程设计总结 (19)参考文献 (20)附录Ⅰ (I)附录Ⅱ (II)第一章绪论1.1 设计的目的及意义综合利用数字信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
本设计采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。
MATLAB声音信号处理

********************************** 调制载波,其角频率依据截取信号频谱 通带截止频率获得 ********************************** ************************************
调制后信号 0.2 0.1 0 -0.1 -0.2 0.2 0.1 0 -0.1 -0.2
title('解调后信号'); C2=fft(c2); subplot(2,2,4)plot(w1,abs(C2)); xlabel('w'); title('解调后信号的频谱'); grid on; ******************************************
信号幅值m
%用 IIR 滤波器滤波 [N1,wc1]=buttord(0.15,0.20,1,15);%确定低通滤波器的阶数和截止频率; [b,a]=butter(N1,wc1); %确定低通滤波器分子分母系数 m=filter(b,a,c2); %滤波 figure(3); subplot(2,1,1); plot(m); xlabel('n') ylabel('信号幅值 m') title('IIR 滤波器解调信号'); sound(m,Fs); %解调滤波后的波形
0.1 0 -0.1 -0.2
0
0.5
1
1.5
2.5 3 3.5 Time(s) 经过解调后的信号幅度谱
2
4
4.5
5
400 300 200 100 0
0
0.2
0.4
0.6
0.8
1 w
《数字信号处理》课程设计,基于MATLAB的音乐信号处理和分析

《数字信号处理》课程设计设计题目:基于MATLAB的音乐信号处理和分析院系:物理工程学院专业:电子信息科学与技术学号:姓名:一、课程设计的目的本课程设计通过对音乐信号的采样、抽取、调制解调、滤波、去噪等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论以及频谱分析方法和数字滤波器设计方法;使学生掌握的基本理论和分析方法只是得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
二、课程设计的基本要求1 学会MATLAB的使用,掌握MATLAB的基本编程语句。
2 掌握在Windows环境下音乐信号采集的方法。
3 掌握数字信号处理的基本概念、基本理论和基本方法。
4 掌握MATLAB设计FIR和IIR数字滤波器的方法。
5 掌握使用MATLAB处理数字信号、进行频谱分析、涉及数字滤波器的编程方法。
三、课程设计内容实验1音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号时双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
程序如下:[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s'); %读取音乐信号plot(Y); %显示音乐信号的波形和频谱sound(Y,FS); %听音乐(按照原来的抽样率)Y1=Y(:,1); %由双声道信号变为单声道信号size(Y1)figuresubplot(2,1,1);plot(Y); %显示原信号波形N=length(Y1);f1=fft(Y1); %傅立叶变换w=2/N*[0:N/2-1];subplot(2,1,2);plot(w,abs(f1(1:N/2))); %显示波形原信号的波形和频谱图实验2音乐信号的抽取(减抽样)①观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠);②输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释;播放减抽样音乐信号,注意抽样率的变化,比较不同抽取间隔下的声音,解释现象程序如下[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s');Y1=Y(:,1);D= ;j=0; %减抽样,D表示抽样间隔(10倍和100倍)for i=1:D:length(Y1) % I表示开始减抽样的起始点j=j+1;Y2(j)=Y1(i); %Y2减抽样后的信号endN=length(Y1);N1=length(Y2);F1=fft(Y1);F2=fft(Y2);w1=2/N*[0:N-1];w2=2/N1*[0:N1-1];figuresubplot(4,1,1);plot(Y1); %显示原单声道信号波形和频谱subplot(4,1,2);plot(Y2); %图显示抽样信号波形和频谱subplot(4,1,3);plot(w1,abs(F1)); %显示原单声道信号fft变换后的波形和频谱subplot(4,1,4);plot(w2,abs(F2)); %显示抽样信号快速fft变换后的波形和频谱sound(Y2,FS) %声音低沉,而且不是很清晰。
基于MATLAB的数字信号处理

数字信号处理课程设计报告题目:语音数字信号处理与分析及Matlab实现系别通信工程专业班级学生姓名学号指导教师提交日期摘要本次课程设计综合利用数字信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
本次课程设计要求利用MATLAB对语音信号进行分析和处理,要求学生采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
待处理语音信号是一个在20Hz~20kHz 频段的低频信号。
采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。
利用采样原理设计了高通滤波器、低通滤波器、带通滤波器、带阻滤波器。
同学通过查阅资料自己获得程序进行滤波器的设计,能过得到很好的锻炼。
关键词:MATLAB滤波器数字信号处理目录第一章绪论 (1)1.1设计的目的及意义 (1)1.2设计要求 (1)1.3设计内容 (1)第二章系统方案论证 (3)2.1设计方案分析 (3)2.2实验原理 (3)第三章信号频谱分析 (6)3.1原始信号及频谱分析 (6)3.2加入干扰噪声后的信号及频谱分析 (7)第四章数字滤波器的设计与实现 (11)4.1高通滤波器的设计 (11)4.2低通滤波器的设计 (12)4.3带通滤波器的设计 (15)4.4带阻滤波器的设计 (16)第五章课程设计总结 (19)参考文献 (20)附录Ⅰ (I)附录Ⅱ (II)第一章绪论1.1设计的目的及意义综合利用数字信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
本设计采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。
数字信号处理课程设计基于 matlab 的音乐信号处理和分析

《数字信号处理》课程设计设计题目:基于MATLAB 的音乐信号处理和分析一、课程设计的目的本课程设计通过对音乐信号的采样、抽取、调制、解调等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使学生掌握的基本理论和分析方法知识得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
二、课程设计基本要求1学会MATLAB 的使用,掌握MATLAB的基本编程语句。
2掌握在Windows 环境下音乐信号采集的方法。
3掌握数字信号处理的基本概念、基本理论和基本方法。
4掌握MATLAB 设计FIR 和IIR 数字滤波器的方法。
5 掌握使用MATLAB处理数字信号、进行频谱分析、设计数字滤波器的编程方法。
三、课程设计内容1、音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;③使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
Wavread格式说明:[w,fs,b]=wavread(‘语音信号’),采样值放在向量w中,fs表示采样频率(hz),b表示采样位数。
上机程序:[y,fs,bit]=wavread('I do片段')%读取音乐片段,fs是采样率size(y)%求矩阵的行数和列数y1=y( : ,1);%对信号进行分列处理n1=length(y1);%取y的长度t1=(0:n1-1)/fs;%设置波形图横坐标 figuresubplot(2,1,1);plot(t1,y1); %画出时域波形图 ylabel('幅值');xlabel('时间(s )'); title('信号波形'); subplot(2,1,2); Y1=fft(y1);w1=2/n1*(0:n1-1);%设置角频率 plot(w1,abs(Y1));%画频谱图 title('信号频谱'); xlabel('数字角频率'); ylabel('幅度'); grid on ;sound(y,fs); 实验结果:123456幅值时间(s )信号波形信号频谱数字角频率幅值1、通过观察频谱知,选取音乐信号的频谱集中在0~0.7*pi 之间,抽样点数fs=44100;2、当采样频率问原来0.5(0.5*fs )倍时:音乐片段音调变得非常低沉,无法辨认原声,播放时间变长;抽样频率减小,抽样点数不变时,其分辨力增大,记录长度变长,声音失真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》课程设计设计题目:基于MATLAB的音乐信号处理和分析院系:物理工程学院专业:电子信息科学与技术学号:姓名:一、课程设计的目的本课程设计通过对音乐信号的采样、抽取、调制解调、滤波、去噪等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论以及频谱分析方法和数字滤波器设计方法;使学生掌握的基本理论和分析方法只是得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
二、课程设计的基本要求1 学会MATLAB的使用,掌握MATLAB的基本编程语句。
2 掌握在Windows环境下音乐信号采集的方法。
3 掌握数字信号处理的基本概念、基本理论和基本方法。
4 掌握MATLAB设计FIR和IIR数字滤波器的方法。
5 掌握使用MATLAB处理数字信号、进行频谱分析、涉及数字滤波器的编程方法。
三、课程设计内容实验1音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号时双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
程序如下:[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s'); %读取音乐信号plot(Y); %显示音乐信号的波形和频谱sound(Y,FS); %听音乐(按照原来的抽样率)Y1=Y(:,1); %由双声道信号变为单声道信号size(Y1)figuresubplot(2,1,1);plot(Y); %显示原信号波形N=length(Y1);f1=fft(Y1); %傅立叶变换w=2/N*[0:N/2-1];subplot(2,1,2);plot(w,abs(f1(1:N/2))); %显示波形原信号的波形和频谱图实验2音乐信号的抽取(减抽样)①观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠);②输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释;播放减抽样音乐信号,注意抽样率的变化,比较不同抽取间隔下的声音,解释现象程序如下[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s');Y1=Y(:,1);D= ;j=0; %减抽样,D表示抽样间隔(10倍和100倍)for i=1:D:length(Y1) % I表示开始减抽样的起始点j=j+1;Y2(j)=Y1(i); %Y2减抽样后的信号endN=length(Y1);N1=length(Y2);F1=fft(Y1);F2=fft(Y2);w1=2/N*[0:N-1];w2=2/N1*[0:N1-1];figuresubplot(4,1,1);plot(Y1); %显示原单声道信号波形和频谱subplot(4,1,2);plot(Y2); %图显示抽样信号波形和频谱subplot(4,1,3);plot(w1,abs(F1)); %显示原单声道信号fft变换后的波形和频谱subplot(4,1,4);plot(w2,abs(F2)); %显示抽样信号快速fft变换后的波形和频谱sound(Y2,FS) %声音低沉,而且不是很清晰。
有一些声音信号丢失,%抽样率越高,声音越听不清晰,图2((10倍)图中由上而下依次为原单声道波形、抽样后波形、原单快速fft变换波形、抽样信号快速fft变换波形图2((100倍)图中由上而下依次为原单声道波形、抽样后波形、原单声道快速fft变换波形、抽样信号快速fft变换波形)实验3 音乐信号的AM调制①观察音乐信号的频率上限,选择适当调制频率对信号进行调制(给出高、低两种调制频率);②输出调制信号的波形和频谱,观察现象,给出理论解释;播放调制音乐信号,注意不同调制频率下的声音,解释现象。
程序如下:[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s');Y1=Y(:,1);N=length(Y1);F1=fft(Y1); %傅立叶变换w1=2/N*[0:N/2-1];figuresubplot(2,2,1);plot(w1,abs(F1(1:N/2)));N1=0:N-1;Y2=cos(N1*pi/8); %设置高频调制信号N2=length(Y2)F2=fft(Y2);w2=2/N2*[0:N2/2-1];subplot(2,2,2);plot(w2,abs(F2(1:N2/2)));subplot(2,2,3);stem((0:64),Y2(1:65));F=Y1.*Y2'; %利用高频调制信号调制单列音乐信号N3=length(F);F3=fft(F); %傅立叶变换w3=2/N3*[0:N3-1];subplot(2,2,4);plot(w3,abs(F3));sound(F,FS) % 未混叠时,声音尖锐,不清晰,刺耳% 混叠时,声音轻,只有淡淡的音调,基本没有起伏,不清晰。
(未混叠)图中由左到右依次为原音乐的傅立叶变换 COS函数的频谱图 COS函数离散信号 AM调制的后的波形(混叠)图中由左到右依次为原音乐的傅立叶变换 COS函数的频谱图COS函数离散信号 AM调制的后的波形实验4 AM调制音乐信号同步解调①设计巴特沃斯IIR滤波器完成同步解调;观察滤波器频率响应曲线②用窗函数法设计FIR滤波器完成同步解调,观察滤波器频率响应曲线;(分别使用矩形窗和布莱克曼窗,进行比较);③输出解调信号的波形和频谱图,观察现象,给出理论解释;播放解调音乐信号,比较不同滤波器下的声音,解释现象。
巴特沃斯IIR 滤波器程序如下clear all;close all;clc[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s');Y1=Y(:,1);N=length(Y1);N1=0:N-1;Y2=cos(N1*pi/8);F=Y1.*Y2';F2=F.*Y2'; %音乐信号调制wp=0.18;ws=0.25;rp=1;rs=50; %设计巴特沃斯IIR 滤波器[N4,Wc]=buttord(wp,ws,rp,rs);[B,A]=butter(N4,Wc);[Hd,w]=freqz(B,A);figuresubplot(2,1,1);plot(w/pi,abs(Hd));F3=filter(B,A,F2); %解调音乐信号N4=length(F3);F4=fft(F3);w4=2/N4*[0:N4/2-1];subplot(2,1,2);plot(w4,abs(F4(1:N4/2)));sound(F3,FS) %声音清晰,基本和原来的音乐差不多,但是音乐开始有一点点杂音。
巴特沃斯IIR 滤波器频率响应曲线及解调后的波形矩形窗和布莱克曼窗function hd=ideal(N,wc)for n=0:N-1if n==(N-1)/2hd(n+1)=wc/pi;else hd(n+1)=sin(wc*(n-(N-1)/2))/(pi*(n-(N-1)/2));endend(将上述程序保存为ideal.m,但是不能运行。
然后在打开新窗口编写下列主程序)clear all;close all;clc[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s');Y1=Y(:,1);N=length(Y1);N1=0:N-1;Y2=cos(N1*pi/8);F=Y1.*Y2';F2=F.*Y2'; %调制音乐信号N=89;wc=pi/0.22; % 矩形和布莱克曼窗hd=ideal(N,wc);w1=boxcar(N);w2=blackman(N);h1=hd.*w1';h2=hd.*w2';N1=length(h1);N2=length(h2);fh1=fft(h1);fh2=fft(h2);ww1=2/N1*(0:(N1-1)/2);ww2=2/N2*(0:(N2-1)/2);figuresubplot(2,1,1);plot(ww1,abs(fh1(1:(N1-1)/2+1))); subplot(2,1,2);plot(ww2,abs(fh2(1:(N1-1)/2+1)));F3=conv(F2,h1);F4=conv(F2,h2);M1=length(F3);M2=length(F4);fy1=fft(F3);fy2=fft(F4);w3=2/M1*[0:M1/2-1];w4=2/M2*[0:M2/2-1];figuresubplot(2,1,1);plot(w3,abs(fy1(1:M1/2)));subplot(2,1,2);plot(w4,abs(fy2(1:M2/2)));sound(F3,FS) %音乐信号清晰,有杂音,低沉.滤波器频率响应曲线解调后波形5、音乐信号的滤波去噪①给出原始音乐信号叠加幅度为0.05,频率为3kHz,5kHz、8kHz的三余弦混合噪声,观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;②给原始音乐信号叠加幅度为0.5的随机白噪声(可用rand语句产生),观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;根据步骤①、②观察到的频谱,选择合适指标设计滤波器进行滤波去噪,观察去噪后信号音谱和频谱,并播放音乐,解释现象。
程序如下:三余弦混合噪声:[x,fs,nbits]=wavread('怒放的生命 - 汪峰5s');x1=x(:,1); %获取单列音乐信号并对其做FFT变换N1=length(x1);fx1=fft(x1);w1=2/N1*[0:N1/2-1];n=0:N1-1;y=0.05*(cos(2*pi*n*3000/fs)+cos(2*pi*n*5000/fs)+cos(2*pi*n*8000/fs)); %设计三余弦混合噪声信号N2=length(y); %对三余弦混合噪声信号做FFT变换fy=fft(y);w2=2/N2*(0:N2/2-1)*fs/2;hdx=x1+y'; %产生加噪后的音乐信号并对其做FFT变换M=length(hdx);fhdx=fft(hdx);w3=2/M*(0:M/2-1);figure %画出单列信号音乐信号的频谱图、三余弦混合噪声信号的离散信号图 %及其频谱图和加噪后音乐信号的频谱图subplot(2,2,1);plot(w1,abs(fx1(1:N1/2)));subplot(2,2,2);stem((0:127),y(1:128));subplot(2,2,3);plot(w2,abs(fy(1:N2/2)));subplot(2,2,4);plot(w3,abs(fhdx(1:M/2)));sound(hdx,fs); % 音乐信号有电流声,而且噪声比较明显。