2016年数字信号处理课程设计题目要求--ljm0
- 格式:doc
- 大小:109.00 KB
- 文档页数:4
数字信号处理课程设计一、课程设计任务1.1 设计背景数字信号处理是关于数字信号的获取、处理和应用的学科,广泛应用于通信、图像处理、音频处理等领域。
随着现代通信技术的发展,数字信号处理的应用越来越广泛,因此数字信号处理技术的研究和应用已经成为了当前的热点和难点问题。
本次数字信号处理课程设计旨在通过实践,使学生深入了解数字信号处理技术,并且掌握数字信号处理的基本原理与方法。
同时,通过此课程设计的实践环节,学生将运用所学的数字信号处理知识,针对某一具体问题进行深入分析,设计相应的算法,并进行实验验证,培养学生的实践能力。
1.2 设计任务本次数字信号处理课程设计任务为:通过 MATLAB 对音频信号进行数字信号处理,实现音频信号数字化、本地化、校准、滤波、平滑等操作,并设计出相应的算法。
具体任务包括:1.对输入的音频信号进行数字化:将模拟信号输入到 A/D 转换器中,将其转换为数字信号。
2.实现音频信号的本地化:通过本地化处理,实现对音频信号的空间定位。
3.针对音频信号的校准问题,设计相应的校准算法。
4.实现音频信号的滤波和平滑处理:通过低通滤波、高通滤波等方法,实现对音频信号的滤波和平滑处理。
二、实验流程2.1 实验器材本实验采用的主要器材为:1.电脑2.MATLAB 软件3.音频设备2.2 实验流程本实验的主要流程如下所示:1.设置音频输入输出设备,并初始化参数% 设置音频输入输出设备audioInput = audioDeviceReader(44100, 16, 1); audioOutput = audioDeviceWriter(44100, 16, 1);% 初始化参数blockSize = 1024;overlap = 512;sampleRate = 44100;2.进行音频信号采集与播放while true% 采集音频数据audioData = audioInput();% 对音频数据进行数字信号处理processedData = processAudioData(audioData, blockSize, overlap, sampleRate);% 播放处理后的音频数据audioOutput(processedData);end3.设计音频数据处理算法function processedData = processAudioData(audioData, blockSize, overlap, sampleRate)% 数字化处理audioData = double(audioData);% 本地化处理processedData = doLocalization(audioData);% 校准算法processedData = doCalibration(processedData);% 滤波和平滑处理processedData = doFiltering(processedData, sampleRate);% 返回处理后的音频数据processedData = single(processedData);end4.对音频数据进行本地化处理function localizationData = doLocalization(audioData) % 实现音频信号的本地化localizationData = audioData;end5.设计校准算法,使音频数据满足一定标准function calibrationData = doCalibration(processedDat a)% 校准算法calibrationData = processedData;end6.设计滤波和平滑处理算法function filteredData = doFiltering(processedData, sa mpleRate)% 低通滤波lowPassFilter = designfilt('lowpassfir', 'FilterOrder', 70, 'CutoffFrequency', 5000, 'SampleRate', sampleRate); filteredData = filtfilt(lowPassFilter, processedData);% 高通滤波highPassFilter = designfilt('highpassfir', 'FilterOrde r', 70, 'CutoffFrequency', 500, 'SampleRate', sampleRat e);filteredData = filtfilt(highPassFilter, filteredData);% 平滑处理smoothedData = smoothdata(filteredData, 'movmean', 50);% 返回处理后的数据filteredData = smoothedData;end三、实验结果及分析3.1 实验结果通过对 MATLAB 下进行数字信号处理的实验,得到了如下所示的实验结果:1.输入音频信号Input AudioInput Audio2.经过数字化、本地化、校准、滤波、平滑等处理后的音频信号Processed AudioProcessed Audio3.2 结果分析通过实验结果可以看出,经过数字信号处理后的音频信号具有了更好的音质和更好的稳定性。
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人。
一、课程设计要求1.熟练掌握MATLAB语言的编程方法;2.熟悉用于一维数字信号处理的MATLAB主要函数的应用;3.记录实验结果(包括波形和数据),撰写课程设计报告。
、课程设计内容1. 序列的产生(1 )编写程序产生以下序列x1(n)=(0.8)nu(n),x2(n)=u(n+2)-u(n-2),x3(n)= S (n-4), X4( n)=R4( n),并画岀波形;(2)求卷积x1(n)* x2(n),.x1(n)*x3(n), 画岀波形程序如下clear alln=-20:20;a1=(0.8.A n)x1=a1.* (n >=0);figure(1)subplot(2,1,1)stem( n,x1);xlabel(' n');ylabel('x1( n)');title(' 单位采样序列');axis([-10 20 0 1.2]);grid;x2=( n+2>=0)-( n-2>=0);subplot(2,1,2)stem( n,x2);xlabel(' n');ylabel('x2( n)');title(' 单位阶跃序列');axis([-10 20 0 1.2]);grid;x3=(n==4);figure(2) subplot(2,1,1)stem( n,x3);xlabel(' n');ylabel('x2( n)'); title(' 单位脉冲序列'); axis([-10 20 0 1.2]);grid;x4=( n>=0)-( n-5>=0);subplot(2,1,2)stem( n,x4);xlabel(' n');ylabel('x4( n)'); title(' 矩形窗函数'); axis([-10 20 0 1.2]);grid;y1=co nv(x1,x2);M=le ngth(y1)-1;n=0:1:M;figure(3)subplot(2,1,1)stem( n, y1);y2=co nv(x1,x3);subplot(2,1,2)M=le ngth(y2)-1;n=0:1:M;stem( n, y2);单位采样序列单莅阶跃序列P4□.6C 10N ■ B a ■ ■■■ ■ ■■nil i■■ r n ■■ ■■ B><J >G »'・•■ " ■■" ”・'■'■ ■ ■■ r ■・・ n ■ ■ ■ B ■ ■~1 ~ 1■ B ■・・!■ ■■ ■■ B !■ ■ ■ '■ B IB ■ ■ !■ I! ■ ■ ■■ ■■ ■■ ■ ■0 0 O CM !) O 0□ D CHb o o o od g DO 0也001015单拉脉沖序列L ----- K.Xn矩形窗函数05-10办 000 O 彷 0000 0 000。
《数字信号处理》课程设计题目题目1:基于MATLAB 的线性常系数差分方程求解1、自行产生一个序列,要求:对序列进行差分运算,并画出差分序列的时域波形图;2、已知一个二阶线性常系数差分方程用下式表示:y(n)+a 1y(n-1)+a 2y(n-2)= b 0x(n)+b 1x(n-1)+b 2x(n-2),要求:(1)参数a 1、a 2、b 0、b 1、b 2由运行时输入;(2)已知输入)(5.0)(n u n x n =,画出x(n)的时域波形图;(3)求出x(n)的共轭对称分量x e (n)和共轭反对称分量x o (n),并分别画出时域波形图;(4)初始条件由运行时输入,求输出y(n),并画出其波形;(5)对于不同的初始条件,分析其输出是否一致,从中得出什么结论。
题目2:典型序列的频谱分析1、对于三种典型序列------单位采样序列、实指数序列、矩形序列,要求:(1)画出以上序列的时域波形图;(2)求出以上序列的傅里叶变换;(3)画出以上序列的幅度谱及相位谱,并对相关结果予以理论分析;(4)对以上序列分别进行时移,画出时移后序列的频谱图,验证傅里叶变换的时移性质;(5)对以上序列的频谱分别进行频移,求出频移后频谱所对应的序列,并画出序列的时域波形图,验证傅里叶变换的频移性质。
2、自行设计一个周期序列,要求:(1)画出周期序列的时域波形图;(2)求周期序列的DFS ,并画出幅度特性曲线;(3)求周期序列的FT ,并画出幅频特性曲线;(4)比较DFS 和FT 的结果,从中可以得出什么结论。
题目3:基于Z 变换的离散系统分析1、自行设计以下几种序列:有限长序列、右边序列、左边序列和双边序列,要求:(1)分别求其Z 变换和收敛域;(2)分析Z 变换收敛域的规律。
2、已知某离散系统的系统函数))(())(()(2121d z d z c z c z z H ----=,要求: (1)参数c 1、c 2、d 1、d 2由运行时输入;(2)画出系统的零、极点分布图;(3)判断该系统的稳定性;(4)判断该系统的因果性;(5)绘出系统的幅频响应曲线和相频响应曲线;(6)分析零、极点分布对系统频率响应特性的影响。
数字信号处理课程设计选做题目及要求一、课程设计题目1. DFT在信号频谱分析中的应用2.用窗函数法设计FIR数字低通滤波器注:以上课程设计题目具体要求可参考附录一二、课程设计的考核方法及成绩评定课程设计的考核依据学生的学习态度、方案合理性、资料完备性、创造性、报告撰写规范性和书面表达能力等为考核点,对学生进行综合考核。
成绩评定采用优秀、良好、中等、及格和不及格五级记分制。
评定细则如下:1.遵守纪律(10%):根据设计出勤情况、遵守纪律情况及设计态度等因素评定;2.设计报告(80%):根据课程设计报告书内容要求和实际完成情况评定;3.设计效果(10%):根据设计实际完成的质量及设计中的创造性评定;对设计任务理解透彻,能够全面、正确、独立地完成设计内容所规定的任务,得出正确的设计结果,并按时提交完整、规范的设计报告,可评为优秀;按照设计任务要求能够顺利地完成任务,得出结果,按时提交较完整的、符合要求的设计报告,可评定为良好;按照设计要求完成了软件的编程与调试,基本完成了任务要求,提交符合要求的设计报告,可评为中等;基本完成设计目标,但不够完善,存在缺陷,在帮助指导下能够完成任务要求,提交设计报告,可评为及格;不能完成规定的任务和要求,未提交设计报告的,或抄袭他人设计报告的评为不及格。
三、课程设计报告撰写格式要求课程设计报告格式按附录三中的要求去做。
报告应认真书写,条理清晰,内容充实、插图规范,符合设计格式要求。
程序执行结果的图形尽量打印出来。
注:附录一:可供参考的课程设计题目及具体内容要求附录二:MATLAB语言简介附录三:课程设计报告撰写格式附录一:可供参考的设计题目及具体内容要求设计一 DFT 在信号频谱分析中的应用一、设计目的1. 熟悉DFT 的性质。
2. 加深理解信号频谱的概念及性质。
3. 了解高密度谱与高分辨率频谱的区别。
二、设计任务与要求1.学习用DFT 和补零DFT 的方法来计算信号的频谱。
数字信号处理 课程设计一、课程目标知识目标:1. 理解数字信号处理的基本概念、原理和方法,掌握其数学表达和物理意义;2. 掌握数字信号处理中的关键算法,如傅里叶变换、快速傅里叶变换、滤波器设计等;3. 了解数字信号处理技术在通信、语音、图像等领域的应用。
技能目标:1. 能够运用所学知识分析数字信号处理问题,提出合理的解决方案;2. 能够运用编程工具(如MATLAB)实现基本的数字信号处理算法,解决实际问题;3. 能够对数字信号处理系统的性能进行分析和优化。
情感态度价值观目标:1. 培养学生对数字信号处理学科的兴趣,激发其探索精神和创新意识;2. 培养学生严谨的科学态度和良好的团队协作精神,提高沟通与表达能力;3. 增强学生对我国在数字信号处理领域取得成就的自豪感,树立为国家和民族发展贡献力量的信心。
课程性质:本课程为专业选修课,旨在使学生掌握数字信号处理的基本理论和方法,培养其解决实际问题的能力。
学生特点:学生具备一定的数学基础和编程能力,对数字信号处理有一定了解,但缺乏系统学习和实践经验。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,采用案例教学、互动讨论等教学方法,提高学生的参与度和实践能力。
通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程和实际工作打下坚实基础。
二、教学内容1. 数字信号处理基础:包括数字信号、离散时间信号与系统、信号的采样与恢复等基本概念,使学生建立数字信号处理的基本理论框架。
教材章节:第一章 数字信号处理概述2. 傅里叶变换及其应用:介绍傅里叶变换的原理、性质和应用,以及快速傅里叶变换算法。
教材章节:第二章 傅里叶变换及其应用3. 数字滤波器设计:讲解数字滤波器的基本原理、设计方法和性能评价,包括IIR和FIR滤波器。
教材章节:第三章 数字滤波器设计4. 数字信号处理应用案例分析:通过通信、语音、图像等领域的实际案例,使学生了解数字信号处理技术的应用。
课题一数字信号处理系统设计一、项目要求用本课程所学的数字信号处理理论知识,设计一个具有信号的采集、处理、传输、显示和存储等功能的系统,内容如下:1、录制一段语音信号,并对录制的语音信号进行采样(采样频率可取fs=22050Hz);2、画出采样后的语音信号的时域波形和频谱图;3、滤波器的性能指标:低通滤波器:通带边界频率fp=1kHz,通带最大衰减Ap=1dB;阻带边界频率fp=1.2kHz,阻带最小衰减Ap=100dB;高通滤波器:通带边界频率fp=5kHz,通带最大衰减Ap=1dB;阻带边界频率fp=4.8kHz,阻带最小衰减Ap=100dB;带通滤波器:通带上限截止频率fp2=3kHz, 通带下限截止频率fp1=1.2kHz;阻带上限截止频率fs2=3.2kHz, 通带下限截止频率fp1=1kHz;通带最大衰减Ap=1dB, 阻带最小衰减As=100dB;采用双线性变换法设计滤波器,并画出滤波器的频率响应;4、用自己设计的滤波器对采样的信号进行滤波,画出滤波后信号的时域波形和频谱图,并对滤波前后的信号进行对比,分析信号的变化;5、回放语音6、用GUI设计一个信号系统的用户界面。
二、实验所要用到的MATLAB函数1、语音信号的采样与播放wavread();[y,fs,bite]=wavread();%语音信号的采样sound(y,fs,bite);%播放语音2.滤波器:IIR:butte();%巴特沃思滤波器cheby1(); %切比雪夫I滤波器elliptical();%椭圆滤波器3.频率响应:[h,f]=freqz(b,a,n,fs)freqz(b,a,n,fs)5.快速傅里叶变换fft (x, n)6.画曲线plot(x, y)stem(x, y)7.在MATLAB中,设计辅助低通原型巴特沃思和切比雪夫滤波器的阶数和截止频率;1)利用buttord和cheblord确定阶数;2)[num,den]=butter(N,Wn),[num,den]=cheby1(N,Wn)3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通,带通,带阻的转换4)使用biliner对模拟滤波器进行双线性变换,求得数字滤波器的传输函数系数三、数字滤波器(代码)1.IIR低通滤波器fp=1000;ft=5500;fs=1200;wp=2*pi*fp/ft;ws=2*pi*fs/ft;Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=buttord(Fp,Fs,1,100,'s');[z,p,k]=buttap(n);B=k*real(poly(z));A=real(poly(p));[b1,a1]=lp2lp(B,A,Omgc);[ba1,aa1]=bilinear(b1,a1,ft); %模拟转数字[Ha,w]=freqz(ba1,aa1); %求频率相应plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 低通滤波器');xlabel('频率/HZ');ylabel('幅值');2.IIR高通滤波器fp=5000;ft=25000;%取抽样频率•fs=4800;Rp=1;As=100;wp=2*pi*fp/ft;%通带频率ws=2*pi*fs/ft;%截止频率Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=ellipord(Fp,Fs,Rp,As,'s'); %计算阶数n和截止频率[z,p,k]=ellipap(n,Rp,As);B3=k*real(poly(z));A3=real(poly(p));[b3,a3]=lp2hp(B3,A3,Omgc);[ba3,aa3]=bilinear(b3,a3,ft);[Ha,w]=freqz(ba3,aa3);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR高通滤波器');xlabel('频率/HZ');ylabel('幅值');3.IIR带通滤波器fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000; As=100;Rp=1;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;Fp1=2*ft*tan(wp1/2);Fp2=2*ft*tan(wp2/2);Fp=[Fp1,Fp2];Fs1=2*ft*tan(ws1/2);Fs2=2*ft*tan(ws2/2);Fs=[Fs1,Fs2];bw=Fp2-Fp1;w0=sqrt(Fp1*Fp2);%通带宽和中心频率[n,Omgn]=cheb1ord(Fp,Fs,Rp,As,'s');[z,p,k]=cheb1ap(n,Rp);B2=k*real(poly(z));A2=real(poly(p));[b2,a2]=lp2bp(B2,A2,w0,bw);[ba2,aa2]=bilinear(b2,a2,ft);[Ha,w]=freqz(ba2,aa2);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 带通滤波器'); xlabel('频率/HZ'); ylabel('幅值');四、总代码function varargout = bzh(varargin)% BZH M-file for bzh.fig% BZH, by itself, creates a new BZH or raises the existing% singleton*.%% H = BZH returns the handle to a new BZH or the handle to% the existing singleton*.%% BZH('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in BZH.M with the given input arguments.%% BZH('Property','Value',...) creates a new BZH or raises the % existing singleton*. Starting from the left, property value pairs are% applied to the GUI before ko_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application% stop. All inputs are passed to bzh_OpeningFcn via varargin. %% *See GUI Options on GUIDE's Tools menu. Choose "GUI allowsonly one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help bzh% Last Modified by GUIDE v2.5 09-Jan-2014 08:54:22% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @bzh_OpeningFcn, ...'gui_OutputFcn', @bzh_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before bzh is made visible.function bzh_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% varargin command line arguments to bzh (see VARARGIN)% Choose default command line output for bzhhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes bzh wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = bzh_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in tag_start.function tag_start_Callback(hObject, eventdata, handles)% hObject handle to tag_start (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1)cla;global z0;global yy;fs=22050;nbits=32;[yy,fs,nbits]=wavread('D:\f.wav'); %语音信号加载sound(yy,fs); %回放语音z0=yy;axes(handles.axes1);plot(yy);title('时域采样信号波形');grid onn=length(yy); %求出语音信号的长度Y=fft(yy,n); %傅里叶变换axes(handles.axes2);plot(20*log10(abs(Y)));title('时域采样信号频谱');guidata(hObject,handles);grid on% --- Executes on button press in tag_ditong.function tag_ditong_Callback(hObject, eventdata, handles)% hObject handle to tag_ditong (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1)cla;global z1;global yy;global ba1;global aa1;global Fp;global Fs;fp=1000;ft=5500;fs=1200;wp=2*pi*fp/ft;ws=2*pi*fs/ft;Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=buttord(Fp,Fs,1,100,'s');[z,p,k]=buttap(n);B=k*real(poly(z));A=real(poly(p));[b1,a1]=lp2lp(B,A,Omgc);[ba1,aa1]=bilinear(b1,a1,ft); %模拟转数字z1=filter(ba1,aa1,yy);[Ha,w]=freqz(ba1,aa1); %求频率相应plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 低通滤波器');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_gaotong.function tag_gaotong_Callback(hObject, eventdata, handles)% hObject handle to tag_gaotong (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2)cla;global yy;global z2;global B3;global ba3;global aa3;global Fp;global Fs;fp=5000;ft=25000;%取抽样频率•fs=4800;Rp=1;As=100;wp=2*pi*fp/ft;%通带频率ws=2*pi*fs/ft;%截止频率Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=ellipord(Fp,Fs,Rp,As,'s'); %计算阶数n和截止频率[z,p,k]=ellipap(n,Rp,As);B3=k*real(poly(z));A3=real(poly(p));[b3,a3]=lp2hp(B3,A3,Omgc);[ba3,aa3]=bilinear(b3,a3,ft);z2=filter(ba3,aa3,yy);[Ha,w]=freqz(ba3,aa3);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR高通滤波器');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_daitong.function tag_daitong_Callback(hObject, eventdata, handles)% hObject handle to tag_daitong (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z3;global B2;global ba2;global aa2;fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;As=100;Rp=1;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;Fp1=2*ft*tan(wp1/2);Fp2=2*ft*tan(wp2/2);Fp=[Fp1,Fp2];Fs1=2*ft*tan(ws1/2);Fs2=2*ft*tan(ws2/2);Fs=[Fs1,Fs2];bw=Fp2-Fp1;w0=sqrt(Fp1*Fp2);%通带宽和中心频率[n,Omgn]=cheb1ord(Fp,Fs,Rp,As,'s');[z,p,k]=cheb1ap(n,Rp);B2=k*real(poly(z));A2=real(poly(p));[b2,a2]=lp2bp(B2,A2,w0,bw);[ba2,aa2]=bilinear(b2,a2,ft);z3=filter(ba2,aa2,yy);[Ha,w]=freqz(ba2,aa2);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 带通滤波器');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_dibo.function tag_dibo_Callback(hObject, eventdata, handles)% hObject handle to tag_dibo (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z1;global ba1;global aa1;m4=fft(z1);plot(z1,'y');title('IIR滤波后的信号波形');xlabel('时间/t');ylabel('幅值');axes(handles.axes4)cla;plot(abs(m4),'y');title('IIR滤波后信号频谱');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_gaobo.function tag_gaobo_Callback(hObject, eventdata, handles)% hObject handle to tag_gaobo (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z2;global B3;global ba3;global aa3;m5=fft(z2);plot(z2,'y');title('IIR滤波后的信号波形');xlabel('时间/t');ylabel('幅值');axes(handles.axes4)cla;plot(abs(m5),'y');title('IIR滤波后信号频谱');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_daibo.function tag_daibo_Callback(hObject, eventdata, handles)% hObject handle to tag_daibo (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z3;global B2;global ba2;global aa2;m6=fft(z3);plot(z3,'y');title('IIR滤波后的信号波形');xlabel('时间/t');ylabel('幅值');axes(handles.axes4)cla;plot(abs(m6),'y');title('IIR滤波后信号频谱');xlabel('频率/HZ');ylabel('幅值');% --- Executes on selection change in tag_choose.function tag_choose_Callback(hObject, eventdata, handles)% hObject handle to tag_choose (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns tag_choose contents as cell array% contents{get(hObject,'Value')} returns selected item from tag_choose% --- Executes during object creation, after setting all properties. function tag_choose_CreateFcn(hObject, eventdata, handles)% hObject handle to tag_choose (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));end% --- Executes on button press in tag_return.function tag_return_Callback(hObject, eventdata, handles)% hObject handle to tag_return (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global z0;global z1;global z2;global z3;global yy;val=get(handles.tag_choose,'Value');if(val==1)[yy,fs,nbits]=wavread('D:\f.wav'); %语音信号加载sound(yy,fs); %回放语音endif(val==2)sound(z1,22050);endif(val==3)sound(z3,22050);endif(val==4)sound(z2,22050);end% --- Executes on mouse press over axes background.function axes1_ButtonDownFcn(hObject, eventdata, handles)% hObject handle to axes1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- If Enable == 'on', executes on mouse press in 5 pixel border. % --- Otherwise, executes on mouse press in 5 pixel border or over tag_start.function tag_start_ButtonDownFcn(hObject, eventdata, handles)% hObject handle to tag_start (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)采样后信号滤波器数字波形IIR低通滤波后波形图IIR高通滤波后波形图IIR带通滤波后波形图。
数字信号处理教程课程设计一、引言数字信号处理(Digital Signal Processing, DSP)是通过数值计算来获取、处理和分析信号的一种技术。
随着现代电子通信技术和嵌入式系统的发展,数字信号处理已经成为了一个重要的研究领域。
本课程设计旨在通过模拟与实验相结合的方式,为学生提供数字信号处理基础知识和实践经验。
这将有助于学生更好地理解和应用数字信号处理技术。
二、课程设计目标本课程设计旨在达到以下目标:1.帮助学生理解数字信号处理的基础知识和概念;2.通过实际操作,让学生掌握数字信号处理技术;3.通过课程设计,提高学生创新思维和解决问题的能力。
三、课程设计内容1. 数字信号处理基础知识•数字信号处理概述•采样定理及其证明•信号离散化•数字滤波器设计•快速傅里叶变换(FFT)及其应用•数字信号处理的应用领域2. 数字信号处理实践本课程的实践环节包括以下内容:•采样定理的验证•信号离散化实验•数字滤波器设计与仿真•FFT算法的实现•数字信号处理应用实例3. 课程设计要求本课程设计要求学生独立完成以下任务:•撰写数字信号处理课程论文•完成数字信号处理相关程序设计•课堂展示数字信号处理应用实例四、课程设计步骤本课程设计分为以下步骤:1. 阶段性目标确定在本课程设计之初,老师会与学生一起确定阶段性目标,以帮助学生理解和掌握数字信号处理基础知识。
2. 数字信号处理理论教学老师将通过讲授数字信号处理基础理论知识,来帮助学生更好地理解数字信号处理技术的基础知识。
3. 实验设计老师将制定实验计划,设计合适的实验,以帮助学生巩固理论,并且将数字信号处理的抽象概念转化为实际的运算过程。
4. 编程与实践操作学生将通过编程和实践操作,来掌握数字信号处理技术,完成实验后还需要撰写数字信号处理课程论文。
五、期望帮助与输出本课程设计采用 Matlab 软件作为编程工具,老师将为学生提供实验数据和相应的代码。
同时,教师将提供必要的帮助和引导,帮助学生顺利完成数字信号处理课程设计任务。
数字信号处理课程设计资料使用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.验证所设计的滤波器是否满足指标要求。
《数字信号处理》课程设计任务书一、目的与要求能够运用本课程中学到的知识,设计基于窗口函数法的FIR 数字滤波器。
要求掌握数字信号处理的基本方法;FIR滤波器的设计步骤和方法;能够熟练采用C 语言或MATLAB语言进行计算机辅助设计和仿真验证设计内容的合理性。
二、主要内容(分配到的设计题目)三、进度计划序号设计(实验)内容完成时间备注1 领取设计任务查阅相关资料2 制定滤波器设计的方案3 编程实现4 答辩四、设计(实验)成果要求课程设计报告五、考核方式设计报告+答辩学生姓名:指导教师:金秀章年月日数字信号处理课程设计一、课程设计目的能够运用本课程中学到的知识,设计基于窗口函数法的FIR 数字滤波器。
要求掌握数字信号处理的基本方法;FIR滤波器的设计步骤和方法;能够熟练采用C 语言或MATLAB语言进行计算机辅助设计和仿真验证设计内容的合理性。
二、课程设计要求注意:三人一组,团队完成1、获取一段音频文件,语音、音乐均可(工具任选,鼓励自己录制,注意长度,一般几秒即可,各组所选不能重复)2、在matlab中读取语音或音乐信号(wavread),并将信号转换为单声道(取得双声道的第一列),输出信号的波形图和频谱图,根据图形分析语音的频谱构成3、采用窗函数法设计FIR数字滤波器(参考PPT课件),使音频通过,查看信号时域和频域波形,并进行播放,进行分析验证4、答辩要求:各组统一交一份WORD报告以及matlab源程序,并制作PPT,上台演讲答辩。
三、设计报告要求和成绩评定1.WORD设计报告一律按照规定的格式,使用A4纸,格式、封面统一给出模版。
2.报告内容(1)设计目的与要求(2)设计题目(3)设计步骤(4)设计结果和仿真波形(5)收获和体会(6)参考文献(7)源程序清单四、成绩评定办法课程设计成绩按照设计报告和答辩两部分情况综合给出。
1.要求设计的程序和波形、设计报告必须小组内部独立完成,鼓励创新。
注意:凡是两份完全一样的设计,两组都按不及格处理。
数字信号处理实验报告设计题目:数字信号处理设计与仿真分析学院:电子工程学院专业:班级:学号:姓名:电子邮件:日期:成绩:指导教师:题目:数字信号处理设计与仿真分析1.引言实验要求(1)建立两个模拟信号的数学模型s a1(t)和s a2(t),其中s a1(t)是有用信号,s a2(t)是干扰信号。
两个信号的中心频率、信号带宽等参数由学生自己选定,要求两个信号的频谱不重叠,s a2(t)的幅度比s a1(t)的幅度高20dB,两个信号时域叠加得到合成信号x a(t),即x a(t)= s a1(t)+ s a2(t)设计计算机程序仿真产生s a1(t)、s a2(t)、x a(t)信号,分别画出三个模拟信号的时域波形和频谱图;(2)根据x a(t)的中心频率和带宽,按照奈奎斯特采样定理选择采样频率f s,分别对信号s a1(t)、s a2(t)、x a(t)进行时域采样,得到离散信号s1(n)、s2(n)、x(n)。
利用FFT算法分析离散信号的频谱,分别画出三个离散信号的时域波形和频谱图;(3)设计数字滤波器H(z),要求该滤波器对干扰信号s2(n)的衰减大于40dB。
提出滤波器的设计指标,并设计滤波器,给出滤波器的设计结果,绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标要求;(4)选择实现数字滤波器H(z)的结构,画出结构信号流图;(5)将合成信号x(n)输入数字滤波器H(z),按照所选择的滤波器结构,设计计算机程序计算滤波器的输出响应y(n),画出y(n)的时域波形和频谱图;(6)分析、总结设计结果,提交课程设计报告。
实验目的(1)深入理解信号的采样过程、模拟信号与离散信号的特点、时域采样定理。
(2)熟悉数字滤波的基本概念、数字滤波器的主要技术指标及其物理意义。
(3)了解模拟和数字滤波器的频率变换、IIR 数字滤波器的直接(优化)设计方法。
2. 基础原理(1) 采样定理采样是将一个信号(例如时间或空间上连续的函数)转换为数字序列(时间或空间上离散的函数)的过程。
2016年数字信号处理课程设计指导
一、课程设计目的:
课程设计是继讨论课和三级项目之后的综合性课程实践环节,要求学生综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MA TLAB、DSP作为工具进行实现,从而复习巩固课堂所学理论知识,旨在提高对所学知识的综合应用能力,并从实践上初步实现对实际信号的处理。
二、课程设计总体安排:
2、要求提交课程设计报告(每人1份)、硬件系统或软件分析系统(含程序源代码)、答辩PPT。
三、课程设计时间安排:
四、课程设计题目:
注:课设题目只给出了总体的基本要求,而对每个题目的具体实现方法不做限制,可以自行发挥,鼓励同学积极创新!
题目1、语音合成器设计
要求:
(1)实现语音的采集,分析不同类型语音信号频谱分布的特点;
(2)实现两种不同类型语音信号的合成,如女生读“a”,男生读“b”,合成结果是发出女生的“b”;
(3)基于DSP实验箱实现语音合成器的功能。
题目2、语音变声器设计
要求:
(1)实现语音的采集,分析不同类型语音信号频谱分布的特点;
(2)实现语音的声音大小、语调高低、语速快慢等变化,并分析变化前后的原因;
(3)基于DSP实验箱实现语音合成器的功能。
题目3、语音消噪系统设计
要求:
(1)实现语音的采集,分析不同语音信号频谱分布的特点;
(2)实现语音的加噪和消噪处理,并分析加噪前后频谱分布特点;
(3)基于DSP实验箱实现语音消噪系统功能。
题目4、语音识别控制系统设计
要求:
(1)实现语音的采集,分析不同语音信号频谱分布的特点;
(2)实现语音信息的特征提取与识别,并基于识别信息在DSP实验箱中实现相应的控制功能;
(3)基于DSP实验箱实现语音识别控制系统功能。
题目5、音乐合成器设计
要求:
(1)基于乐曲简谱和“十二平均律”,实现不同乐音频率设计,观察分析不同乐音的频谱分布特点;
(2)基于乐音频率实现完整音乐的合成和播放功能;
(3)基于DSP实验箱实现音乐合成器功能。
题目6、双音多频(DTMF)拨号系统设计
要求:
(1)实现双音多频信号的产生,并观察分析不同信号的波形和频谱分布特点;
(2)实现双音多频信号的识别和检测;
(3)基于DSP实验箱实现双音多频拨号系统功能。
题目7、语音/音乐的调制与解调处理
要求:
(1)实现音乐/语音的采集,观察分析不同音乐/语音信号频谱分布的特点;
(2)选取适当的调制频率对信号进行调制(高频、低频调制)并播放,观察调制后信号的波形和
频谱分布特点;
(3)对调制后信号进行解调处理,并对比分析解调处理后信号与原信号在波形和频谱分布上的异
同;
(4)基于DSP实验箱实现信号的调制与解调处理功能。
题目8、语音信号的编码处理
要求:
(5)实现音乐/语音的采集,观察分析不同音乐/语音信号频谱分布的特点;
(6)选取适当的编码方案(如G.711)对信号进行编码;
(7)对编码后信号进行对比分析,比较处理后信号与原信号在波形和频谱分布上的异同;
(8)基于DSP实验箱实现信号的编码处理功能。
五、课程设计步骤:
以语音信号处理为例,基本设计步骤如下:(其它题目参考以下步骤)
1、资料查阅,明确题目要求,确定系统功能和实现方法;
2、基于Matlab软件对系统功能和算法进行设计和仿真,确保设计思路的正确性;
(a)语音信号的采集
基于Matlab完成声音(wave)录制、播放、存储和读取功能。
(b)语音信号的频谱分析
画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。
(c)设计数字滤波器并画出其频率响应
根据语音信号的频域特性,选择合理的滤波器参数,并分析不同性能指标下滤波器的频响特性
(d)用滤波器对语音信号进行滤波
用设计的各种滤波器对信号进行滤波处理,比较滤波前后语音信号的波形及频谱,并实现语音的播放功能。
3、基于DSP实验箱实现上述算法,完成对语音信号的处理功能
(a)基于DSP实验箱的语音采集模块实现语音采集;
(b)在CCS编程环境中实现采集信号的处理:滤波器的设计、滤波前后信号的波形和频谱展示
(c)实现滤波前后语音信号的播放功能。
六、课程设计要求
1.设计说明书(约3000~4000字),包括:
(1)封面;
(2)目录;
(3)摘要;
(4)正文。
①设计内容(简述本设计的任务和要求,可参照任务书和指导书);
②设计原理(简述设计过程中涉及到的基本理论知识);
③设计过程(按设计步骤详细介绍设计过程,即任务书和指导书中指定的各项任务)
I.程序源代码:给出完整源程序清单;
II.调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);
III.结果分析:对程序结果进行分析,并与理论分析进行比较。
(5)结论:包括课程设计过程中的学习体会与收获、建议等内容;
(6)参考文献。
2.附件:(可以将设计中得出的波形图和频谱图作为附件,在说明书中涉及相应图形时,注明相应图形在附件中位置即可;也可不要附件,所有内容全部包含在设计说明书中。
所有的实验结果图形都必须有横纵坐标标注,必须有图序和图题。
)
3.课程设计报告提交电子版和打印版各一份。
注意:鼓励互相讨论交流,但不得抄袭他人的报告(或给他人抄袭),一旦发现,抄袭者和被抄袭者成绩均为零分!!!。