文档库 最新最全的文档下载
当前位置:文档库 › 基于TMS320F2812DSP信号处理仪课程设计

基于TMS320F2812DSP信号处理仪课程设计

基于TMS320F2812DSP信号处理仪课程设计
基于TMS320F2812DSP信号处理仪课程设计

一、引言

利用Matlab软件的FDATool工具设计FIR滤波器,在CCS集成开发环境下,利用窗函数法设计FIR滤波器程序,观察输入信号及滤波后得到的输出信号的时域波形及FFT Magnitude波形;利用TMS320F2812的ADC片内外设的外围电路实时采集的混频信号数据,使用1个51阶的FIR低通滤波器,在CCS中设计FIR滤波器程序实现滤波,观察相关波形及滤波效果,通过SCI接口将数据传送到计算机上。

二、设计目的

1.编写串行外设接口SPI的驱动程序。

2.了解数模转换的基本操作,设计基于数模转换芯片AD7303的正弦信号发生电路。

3.编写TMS320F2812利用SPI接口驱动AD7303输出正弦信号波形的应用程序。

三、设计要求

1.要求熟悉ccs软件的开发与应用。

2.了解数模转换的原理与基本操作。

3.要求能够对程序进行分析,及结果进行分析。

四、总体设计

4.1硬件部分

4.1.1数模转换操作的应用基础

利用专用的数模转换器芯片,可以实现将数字信号转换为模拟量得输出功能。在EXPIV型试验箱上,使用的是AD703数模芯片,它可以实现同时转换2路模拟信号输出,并有8位精度,DA转换时间1.2us。其控制方式比较简单:首先将需要转换的数值及控制指令同时通过SPI总线,传送到AD703上相应的寄存器,经过一个时间的延迟,转换后的模拟量就从AD703输出引脚输出。

4.1.2 AD7303简介

AD7303是一款双通道、8位电压输出DAC,采用+2.7 V至+5.5 V单电源供

电。它内置片内精密输出缓冲,能够实现轨到轨输出摆幅。这款器件采用多功能三线式串行接口,能够以最高30MHz的时钟速率工作,并与QSPI、SPI、MICROWIRE以及数字信号处理器接口标准兼容。串行输入寄存器为16位,其中8位用作DAC的数据位,其余8位组成一个控制寄存器。

图1 数字量与输出模拟量换算表

图2 输入移位寄存器

图3AD7303输入移位寄存器位定义及设置方式

4.1.3 应用AD7303的DAC电路设计

4.2 软件部分

4.2.1 程序流程框图

4.2.2 在CCS集成开发环境下新建工程

运行CCS软件之前,首先需要运行CCS设置程序,CCS可以工作在纯软件仿真环境中,就是由软件在计算机内存中构造一个虚拟的DSP环境,可以调试、运行程序。在使用软件仿真方式工作时,不需要连接C2000开发板和仿真调试器等硬件。软件调试要将CCS设置Simulator方式(软件仿真TMS320F2812器件的方式)。

(1)将含有所编写串行外设接口SPI与串行通信接口SCI的驱动程序的文件与DSP281x_board_headers文件DSP281x_common文件DSP281x_headers文件放到同一个文件夹SPISCI_DA下,并将此文件夹放到D盘下。

(2)启动Code Composer Studio v2.20。双击桌面上的CCS 2(‘C2000)快捷图标,快速启动CCS集成开发环境。

(3)选择菜单“Project”的“Open…”项。找到SPI_DA文件中的DSP281x_examples中的.c文件,并打开,建立新的工程文件。

4.2.3在Simulator环境下观察信号的时域及FFT Magnitude波形

(1)程序运行好后,点击菜单栏View→Gaph→Time/Frequency出现下图所示对话框并按照下图进行参数设置。

(2)点击OK,出现正弦波的时域波形图如下图所示:

(3)点击菜单栏View→Gaph→Time/Frequency,进行如下图所示的参数设置。

(4)点击OK,出现频域波形图,如下图所示:

4.2.4 程序清单

* 文件名称: SPI_DA.c

* 适用平台: DSP专家4实验箱

* CPU类型: DSP TMS320F2812

* 软件环境: CCS2.20 (2000系列)

* 接线说明: 1、F2812CPU板的JUMP1的2和3脚短接,JUMP2的1和2脚短接;

* 2、实验箱底板的开关K9拨到右侧,选择CPU2.

* 测试现象: 设置好CCS的环境,打开本工程,编译、下载、运行。

* 利用示波器观察实验箱DA单元的二号孔"输出1"有正弦波输出。*/

/***************************头文件*******************************/

#include "DSP281x_Device.h" // DSP281x Headerfile Include File

#include "DSP281x_Examples.h" // DSP281x Examples Include File

#include "math.h"

#define pi 3.1415926

unsigned int curve[128];

unsigned int curve1[128];

unsigned int curve2[128];

// Prototype statements for functions found within this file.

void spi_init(void);

void delay(void);

void scia_loopback_init(void);

void scia_fifo_init(void);

void scia_xmit(int a);

void main(void)

{

int i,p,data;

// Step 1. Initialize System Control:

// PLL, WatchDog, enable Peripheral Clocks

// This example function is found in the DSP281x_SysCtrl.c file.

InitSysCtrl();

// Step 2. Initalize GPIO:

// This example function is found in the DSP281x_Gpio.c file and

// illustrates how to set the GPIO to it's default state.

// InitGpio(); // Skipped for this example

// Setup only the GP I/O only for SPI functionality

EALLOW;

GpioMuxRegs.GPFMUX.all=0x003F; // Select GPIOs to be SPI pins

// Port F MUX - x000 0000 0000 1111 EDIS;

// Step 3. Clear all interrupts and initialize PIE vector table:

// Disable CPU interrupts

DINT;

// Initialize PIE control registers to their default state.

// The default state is all PIE interrupts disabled and flags

// are cleared.

// This function is found in the DSP281x_PieCtrl.c file.

InitPieCtrl();

// Disable CPU interrupts and clear all CPU interrupt flags:

IER = 0x0000;

IFR = 0x0000;

// Initialize the PIE vector table with pointers to the shell Interrupt

// Service Routines (ISR).

// This will populate the entire table, even if the interrupt

// is not used in this example. This is useful for debug purposes.

// The shell ISR routines are found in DSP281x_DefaultIsr.c.

// This function is found in DSP281x_PieVect.c.

InitPieVectTable();

// Step 4. Initialize all the Device Peripherals:

// This function is found in DSP281x_InitPeripherals.c

// InitPeripherals(); // Not required for this example

// spi_fifo_init(); // Initialize the Spi FIFO

spi_init(); // init SPI

scia_fifo_init(); //初始化SCI FIFO

scia_loopback_init();//初始化SCI自循环模式

for(i=0; i<128;i++)

{

/*产生128个点的正弦信号波形*/

data=(int)(127.5*(1+sin(2*pi*i/127)));

curve[i]=data;

/*将数据打包成“从移位寄存器到DAC A数据寄存器*/

curve1[i]=data&0x00ff|0x0100;

/*将数据打包成“从移位寄存器到DAC B数据寄存器

且用数据寄存器同时更新A和B两个DA的值*/

curve2[i]=data&0x00ff|0x2500;

}

/* for(i=0;i<128;i++)

{

scia_xmit(curve[i]);

while(SciaRegs.SCIFFRX.bit.RXFIFST!=1){}

//等待XRDY=1(空闲态),即等待数据发送}

*/

for(;;)

{

for(p=0;p<128;p++)

{

/*将数据写入AD7303*/

SpiaRegs.SPITXBUF=curve1[p];

delay();

/*将数据写入AD7303*/

SpiaRegs.SPITXBUF=curve2[p];

delay();

}

}

}

void spi_init()

{

SpiaRegs.SPICCR.bit.SPISWRESET=0; // Reset SCI

SpiaRegs.SPICCR.all =0x000F; // Reset on, rising edge, 16-bit char bits

SpiaRegs.SPICTL.all =0x000E; // Enable master mode, normal phase,

SpiaRegs.SPISTS.all=0x0080;

// enable talk, and SPI int disabled.

SpiaRegs.SPIBRR =0x0000; // Baud rate;

SpiaRegs.SPIPRI.bit.FREE = 1; // Set so breakpoints don't disturb xmission

SpiaRegs.SPICCR.bit.SPISWRESET=1; // Enable SPI

}

void delay(void) //延时子程序

{

unsigned int k;

for(k=0;k<50;k++);

}

void scia_loopback_init()

{

//注意,如果scia的时钟没有打开,那么需要软件打开,用InitSysCtrl()函数SciaRegs.SCICCR.all =0x0007;

//1个停止位,无奇偶校验位、8位数据格式、同步模式、空闲线模式SciaRegs.SCICTL1.all =0x0003;

SciaRegs.SCICTL2.all =0x0003;

SciaRegs.SCICTL2.bit.TXINTENA =1;

SciaRegs.SCICTL2.bit.RXBKINTENA =1;

SciaRegs.SCIHBAUD =0X0001;

SciaRegs.SCILBAUD =0X00e7;

SciaRegs.SCICTL1.all =0x0023;

}

//发送数据函数

void scia_xmit(int a)

{

SciaRegs.SCITXBUF=a;

}

void scia_fifo_init()

{

SciaRegs.SCIFFTX.all=0xE040;

SciaRegs.SCIFFRX.all=0x204f;

SciaRegs.SCIFFCT.all=0x0;

}

4.3 调试部分

4.3.1 硬件调试

(1)将CCS设置Emulator的方式(通过硬件仿真调试器XDS510连接C2000开发板进行硬件仿真调试的方式),并且指定通过XDS510 USB接口仿真器C2000硬件评估电路板。

(2)把程序文件复制到C盘中的ti文件中myprojects目录中,在CCS 2窗口中的菜单中选择Project,在出现的窗口的查找范围中选择C盘中的ti文件中的工程文件,然后打开。

(3)编译链接工程。选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮。注意编译过程中CCS主窗口下部“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。4)下载程序执行File Load Program,在随后打开的对话框中选择刚刚建立的C:\ti\myprojects\ SPI_DA \Debug\ Example_281x_da.out文件,点击“打开”按钮。

(5)运行程序点击工具栏按钮或选择Debug→Run。可快速地运行主函数调试自己的代码。

(6)查看输出模拟信号将示波器一信号输入线接地,另一个信号输入线接在A/D信号输出口上,调试示波器,示波器屏幕上将出现一个正弦波。如下图所示:

4.3.2 软件调试

(1)启动桌面Setup CCS 2,在出现的“Import Configuration”窗口中选择“Clear”清除原先设置,选择“Available Configurations”下拉菜单中选择“F2812 Device Simulator”,选择“Import”,然后选择“Save and Quit”,即设置为软件仿真模式。再在弹出的窗口中选择“是”,出现CCS 2集成开发环境。

(2)把程序文件复制到C盘中的ti文件中myprojects目录中,在CCS 2窗口中的菜单中选择Project,在出现的窗口的查找范围中选择C盘中的ti文件中的工程文件,然后打开。

(3)编译链接工程。选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮。

(4)下载程序。执行File Load Program,在随后打开的对话框中选择刚刚建立的C:\ti\myprojects\ SPI_DA \Debug\ Example_281x_da.out文件,点击“打

开”按钮。

4.3.3 SCI串行数据传输

对超级终端相关参数(数据格式、波特率等)进行设置,通过串口将数据会传个PC机并显示在屏幕上观察数据与原始数据是否一致。

五、总结

本次课程设计的过程使我进一步熟悉了对于CCS2000软件使用,通过对串行外设接口SPI的驱动程序的编写和研究,使我对SPI功能模块有了更深的理解,及其相关寄存器的设置。与此同时,我也对AD7303芯片进行了了解。

在这次课程设计中遇到了不少问题,比如软件的问题和硬件的问题,但在老师和同学的帮助下都得到了解决,这使我的实践能力得到了进一步的提高,也使我更深的意识到学习跟实践相结合的重要性。

六、参考文献

【1】赵成《DSP原理及应用技术——基于TMS320F2812的仿真与实例设计》国防工业出版社

【2】科军《TMS320F2812 DSP应用技术》科学出版社

【3】忠勇陈恩庆《DSP原理与应用技术》电子工业出版社

【4】AD7303数模芯片说明书

【5】MS320F2812的SPI功能模块的说明书

数字信号处理课程设计报告

《数字信号处理》课程设计报告 设计题目: IIR滤波器的设计 专业: 班级: 姓名: 学号: 指导教师: 2010年月日

1、设计目的 1、掌握IIR 滤波器的参数选择及设计方法; 2、掌握IIR 滤波器的应用方法及应用效果; 3、提高Matlab 下的程序设计能力及综合应用能力。 4、了解语音信号的特点。 2、设计任务 1、学习并掌握课程设计实验平台的使用,了解实验平台的程序设计方法; 2、录制并观察一段语音信号的波形及频谱,确定滤波器的技术指标; 3、根据指标设计一个IIR 滤波器,得到该滤波器的系统响应和差分方程,并根据差分方程将所设计的滤波器应用于实验平台,编写相关的Matlab 程序; 4、使用实验平台处理语音信号,记录结果并进行分析。 3、设计内容 3.1设计步骤 1、学习使用实验平台,参见附录1。 2、使用录音机录制一段语音,保存为wav 格式,录音参数为:采样频率8000Hz、16bit、单声道、PCM 编码,如图1 所示。 图1 录音格式设置 在实验平台上打开此录音文件,观察并记录其波形及频谱(可以选择一段较为稳定的语音波形进行记录)。 3、根据信号的频谱确定滤波器的参数:通带截止频率Fp、通带衰减Rp、阻带截止频率Fs、阻带衰减Rs。 4、根据技术指标使用matlab 设计IIR 滤波器,得到系统函数及差分方程,并记录得到系统函数及差分方程,并记录其幅频响应图形和相频响应图形。要求设计 第 1页出的滤波器的阶数小于7,如果不能达到要求,需要调整技术指标。 5、记录滤波器的幅频响应和系统函数。在matlab 中,系统函数的表示公式为:

因此,必须记录系数向量a 和b。系数向量a 和b 的可以在Matlab 的工作空间(WorkSpace)中查看。 6、根据滤波器的系统函数推导出滤波器的差分方程。 7、将设计的滤波器应用到实验平台上。根据设计的滤波器的差分方程在实验平台下编写信号处理程序。根据运行结果记录处理前后的幅频响应的变化情况,并试听处理前后声音的变化,将结果记录,写入设计报告。 3.2实验程序 (1)Rs=40; Fs=1400; Rp=0.7; Fp=450; fs=8000; Wp=2*pi*Fp;Ws=2*pi*Fs; [N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'); [b1,a1]=butter(N,Wn,'s'); [b,a]=bilinear(b1,a1,fs); [H,W]=freqz(b,a); figure; subplot(2,1,1);plot(W*fs/(2*pi),abs(H));grid on;title('频率响应'); xlabel('频率');ylabel('幅值');、 subplot(2,1,2); plot(W,angle(H));grid on;title('频率响应'); xlabel('相位(rad)');ylabel('相频特性'); 3.3实验结果(如图): N =5 Wn=6.2987e+003 第 2页

数字信号处理课程设计报告

抽样定理的应用 摘要 抽样定理表示为若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。 语音信号处理是研究用数字信号处理技术和语音学知识对语音 信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用 软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求通过利用matlab对模拟信号和语音信号进行抽样,通过傅里叶变换转换到频域,观察波形并进行分析。 关键词:抽样Matlab

目录 一、设计目的: (2) 二、设计原理: (2) 1、抽样定理 (2) 2、MATLAB简介 (2) 3、语音信号 (3) 4、Stem函数绘图 (3) 三、设计内容: (4) 1、已知g1(t)=cos(6πt),g2(t)=cos(14πt),g3(t)=cos(26πt),以抽样频率 fsam=10Hz对上述三个信号进行抽样。在同一张图上画出g1(t),g2(t),g3(t)及其抽样点,对所得结果进行讨论。 (4) 2、选取三段不同的语音信号,并选取适合的同一抽样频率对其进 行抽样,画出抽样前后的图形,并进行比较,播放抽样前后的语音。 (6) 3、选取合适的点数,对抽样后的三段语音信号分别做DFT,画图 并比较。 (10) 四、总结 (12) 五、参考文献 (13)

信号与系统课程设计报告材料

课程设计报告 课程名称信号与系统课程设计指导教师 设计起止日期 学院信息与通信工程 专业电子信息工程 学生 班级/学号 成绩 指导老师签字

目录 1、课程设计目的 (1) 2、课程设计要求 (1) 3、课程设计任务 (1) 4、课程设计容 (1) 5、总结 (11) 参考文献 (12) 附录 (12)

1、课程设计目的 “信号与系统”是一门重要的专业基础课,MATLAB作为信号处理强有力的计算和分析工具是电子信息工程技术人员常用的重要工具之一。本课程设计基于MATLAB完成信号与系统综合设计实验,以提高学生的综合应用知识能力为目标,是“信号与系统”课程在实践教学环节上的必要补充。通过课设综合设计实验,激发学生理论课程学习兴趣,提高分析问题和解决问题的能力。 2、课程设计要求 (1)运用MATLAB编程得到简单信号、简单信号运算、复杂信号的频域响应图; (2)通过对线性时不变系统的输入、输出信号的时域和频域的分析,了解线性时不变系统的特性,同时加深对信号频谱的理解。 3、课程设计任务 (1)根据设计题目的要求,熟悉相关容的理论基础,理清程序设计的措施和步骤; (2)根据设计题目的要求,提出各目标的实施思路、方法和步骤; (3)根据相关步骤完成MATLAB程序设计,所编程序应能完整实现设计题目的要求; (4)调试程序,分析相关理论; (5)编写设计报告。 4、课程设计容 (一)基本部分 (1)信号的时频分析 任意给定单频周期信号的振幅、频率和初相,要求准确计算出其幅度谱,并准确画出时域和频域波形,正确显示时间和频率。 设计思路: 首先给出横坐标,即时间,根据设定的信号的振幅、频率和初相,写出时域波形的表达式;然后对时域波形信号进行傅里叶变化,得到频域波形;最后使用plot函数绘制各个响应图。 源程序: clc; clear; close all; Fs =128; % 采样频率 T = 1/Fs; % 采样周期 N = 600; % 采样点数 t = (0:N-1)*T; % 时间,单位:S x=2*cos(5*2*pi*t);

数字信号处理课设+语音信号的数字滤波

语音信号的数字滤波 ——利用双线性变换法实现IIR数字滤波器的设计一.课程设计的目的 通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。 二.设计方案论证 1.IIR数字滤波器设计方法 IIR数字滤波器是一种离散时间系统,其系统函数为 假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和,它 是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。 2.用双线性变换法设计IIR数字滤波器 脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=e sT转换 平面的-π/T~π到Z平面上。也就是说,第一步先将整个S平面压缩映射到S 1 /T一条横带里;第二步再通过标准变换关系z=e s1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。 图1双线性变换的映射关系 为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现

数字信号处理课程设计报告 杨俊

课程设计报告 课程名称数字信号处理 课题名称数字滤波器设计及在语音信号分析中的应用 专业通信工程 班级1281 学号201213120101 姓名杨俊 指导教师彭祯韩宁 2014年12月5日

湖南工程学院 课程设计任务书 课程名称数字信号处理 课题数字滤波器设计 及在语音信号分析中的应用专业班级通信工程1281班 学生姓名杨俊 学号201213120101 指导老师彭祯韩宁 审批 任务书下达日期2014 年12月5日 任务完成日期2014 年12月13日

《数字信号处理》课程设计任务书 一、课程设计的性质与目的 《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使学生对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解;巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。 二、课程设计题目 题目1:数字滤波器设计及在语音信号分析中的应用。 1、设计步骤: (1)语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。 然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。 (2)语音信号分析 使用MATLAB绘出采样后的语音信号的时域波形和频谱图。根据频谱图求出其带宽,并说明语音信号的采样频率不能低于多少赫兹。 (3)含噪语音信号合成 在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:①白

数字信号处理课设共18页文档

数字信号处理课程设计 姓名:刘倩 学号:201014407 专业:信息与计算科学 实验一:常见离散信号产生和实现 一、实验目的: 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、实验原理: 1.单位抽样序列 在MATLAB 中可以利用zeros()函数实现。 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: 2.单位阶越序列 在MATLAB 中可以利用ones()函数实现。 3.正弦序列 在MATLAB 中 4.复指数序列 在MATLAB 中 5.指数序列 在MATLAB 中

实验内容:由周期为10的正弦函数生成周期为20的余弦函数。 实验代码: n=0:30; y=sin(0.2*pi*n+pi/2); y1=sin(0.1*pi*n+pi/2); subplot(121) stem(n,y); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); subplot(122) stem(n,y1); xlabel ('时间序列n');ylabel('振幅'); title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); 实验结果: 实验二:离散系统的时域分析 实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。实验原理:离散系统 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号, 记系统单位冲激响应 则系统响应为如下的卷积计算式:

当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。 实验内容:用MATLAB 计算全解 当n>=0时,求用系数差分方程y[n]+y[n-1]-6y[n-2]=x[n]描述的一个离散时间系统对阶跃输入x[n]=8μ[n]的全解。 实验代码: n=0:7; >> [y,sf]=filter(1,[1 1 -6],8*ones(1,8),[-7 6]); >> y1(n+1)=-1.8*(-3).^n+4.8*(2).^n-2; >> subplot(121) >> stem(n,y); >> title('由fliter 函数计算结果'); >> subplot(122) >> stem(n,y1); >> title('准确结果'); 实验结果: 结果分析:有图可得由fliter 函数得出的结果与计算出的准确结果完全一致。 实验三FFT 算法的应用

信号分析课程设计报告书

信号分析课程设计 信号系统的时域分析 编程实现的卷积积分或卷积和 一、课程设计题目: 基于 MATLAB 的连续时间LTI 系统的时域分析 二、基本要求: ① 掌握连续时不变信号处理的基本概念、基本理论和基本方法; ② 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法; ③ 学会用 MATLAB 对信号进行分析和处理; ④ 编程实现卷积积分或卷积和,零输入响应,零状态响应; ⑤ 撰写课程设计论文,用信号处理基本理论分析结果。 三、设计方法与步骤: 一般的连续时间系统分析有以下几个步骤: ①求解系统的零输入响应; ②求解系统的零状态响应; ③求解系统的全响应; ④分析系统的卷积;⑤画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法. 1.连续时间系统的零输入响应 描述n 阶线性时不变(LTI )连续系统的微分方程为: 已知y 及各阶导数的初始值为y(0),y (1)(0),… y (n-1)(0), 求系统的零输入响应。 建模 当LIT 系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根) 其中p 1,p 2,…,p n 是特征方程a 1λ n +a 2λn-1+…+a n λ+a n =0的根,它们可以 用root(a)语句求得。各系数 由y 及其各阶导数的初始值来确定。对此有 1121111n n m n n m m n n m d y d y dy d u du a a a a y b b b u dt dt dt dt dt -++-++?????++=+????++1212()n p t p t p t n y t C e C e C e =++????+120n C C C y ++????+=11220 n n p C p C p C Dy ++????+=

数字信号处理课程规划报告

数字信号处理课程设计报告《应用Matlab对信号进行频谱分析及滤波》 专业: 班级: 姓名: 指导老师: 二0 0五年一月一日

目录 设计过程步骤() 2.1 语音信号的采集() 2.2 语音信号的频谱分析() 2.3 设计数字滤波器和画出其频谱响应() 2.4 用滤波器对信号进行滤波() 2.5滤波器分析后的语音信号的波形及频谱() ●心得和经验()

设计过程步骤 2.1 语音信号的采集 我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在1 s内。接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。其程序如下: [x,fs,bite]=wavread('c:\alsndmgr.wav',[1000 20000]); sound(x,fs,bite); 2.2 语音信号的频谱分析 首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。到此,我们完成了课程实际的第二部。 其程序如下: n=1024; subplot(2,1,1); y=plot(x(50:n/4)); grid on ; title('时域信号') X=fft(x,256); subplot(2,1,2); plot(abs(fft(X))); grid on ; title('频域信号'); 运行程序得到的图形:

信号与系统课程设计报告分析

成绩评定表 课程设计任务书

摘要 本文研究的是傅里叶变换的对称性和时移特性,傅里叶变换的性质有:对称性、线性(叠加性)、奇偶虚实性、尺度变换特性、时移特性、频移特性、微分特性、积分特性、卷积特性(时域和频域);从信号与系统的角度出发,给出了激励信号的具体模型;应用Matlab软件进行仿真,将研究的信号转化成具体的函数形式,在Matlab得到最终变换结果。使用傅里叶变换的方法、卷积的求解方法以及函数的微分等方法研究题目。 关键词: 傅里叶变换;对称性;时移特性;Matlab 目录 1、Matlab介绍................................................................................... 错误!未定义书签。

2.利用Matlab实现信号的频域分析—傅里叶变换的对称性与时移特性设计 (5) 2.1.傅里叶变换的定义及其相关性质 (5) 2.2.傅里叶变换的对称性验证编程设计及实现 (7) 2.3.傅里叶变换的时移特性验证编程设计及实现 (10) 3.总结 (13) 4.参考文献 (13) 1 、Matlab介绍 MATLAB作为一种功能强大的工程软件,其重要功能包括数值处理、程序设计、可视化显示、图形用户界面和与外部软件的融合应用等方面。 MATLAB软件由美国Math Works公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。 MATLAB软件具有很强的开放性和适应性。在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了

数字信号处理课程设计

数字信号处理 课 程 设 计 院系:电子信息与电气工程学院 专业:电子信息工程专业 班级:电信班 姓名: 学号: 组员:

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词数字滤波器 MATLAB 窗函数法巴特沃斯

目录 摘要 (1) 1 引言 (1) 1.1课程设计目的 (1) 1.2 课程设计内容及要求 (1) 1.3课程设计设备及平台 (1) 1.3.1 数字滤波器的简介及发展 (1) 1.3.2 MATLAB软件简介 (2) 2 课程设计原理及流程 (4) 3.课程设计原理过程 (4) 3.1 语音信号的采集 (4) 3.2 语音信号的时频分析 (5) 3.3合成后语音加噪声处理 (7) 3.3.1 噪声信号的时频分析 (7) 3.3.2 混合信号的时频分析 (8) 3.4滤波器设计及消噪处理 (10) 3.4.1 设计IIR和FIR数字滤波器 (10) 3.4.2 合成后语音信号的消噪处理 (13) 3.4.3 比较滤波前后语音信号的波形及频谱 (13) 3.4.4回放语音信号 (15) 3.5结果分析 (15) 4 结束语 (15) 5 参考文献 (16)

信号与系统课程设计报告

二○一一~二○一二学年第一学期电子信息工程系 信号与系统课程设计报告 班级:电子信息工程2009级3班 学号:200904135104 姓名:徐奎 课程名称:数字信号处理课程设计 学时学分:1周1学分 指导教师:陈华丽 二○一一年十二月三十日

1、课程设计目的: 数字信号处理”课程是信息和通信工程专业必修的专业技术基础课程,课程以信号与系统作为研究对象,研究对信号进行各种处理和利用的技术。通过该课程的学习,学生应牢固掌握确定性信号和系统的分析方法、相关算法、系统实现等的相关知识的,借助于数字滤波器的设计及实现,学生可掌握数字系统的分析以及设计方法。数字信号处理是理论性和工程性都很强的学科,本课程设计的目的就是使该课程的理论与工程应用的紧密结合, 使学生深入理解信号处理的内涵和实质。 本课程设计要求学生在理解信号处理的数学原理的基础上,应用计算机编程手段,实现一种信号分析或处理的设计,达到对所学内容融会贯通,综合各部分知识,按照题目要求独立设计完成。 2、课程设计内容:滤波器设计 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计低通,带通,高通滤波器对信号进行滤波处理,观察滤波前后信号的频谱。 独立完成以上设计,有能力的同学设计一个友好的人机交互界面,不限编程语言。 3、设计内容和步骤: ①设定的连续信号为:s=sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30) 可知:信号中包含了5Hz、15Hz、30Hz频率分量,对其采样的频率取100Hz。用plot函数画出其时域波形,代码如下,结果如下图所示: % 程序功能:产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计低通,带通,高通滤波器对信号进行滤波处理,观察滤波前后信号的频谱。 Fs=100; t=(1:100)/Fs; s1=sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30);

郑州大学数字信号处理课程设计报告

实验一:基于DFT的数字谱分析以及可能出现的问题 一、实验目的: 1.进一步加深对DFT的基本性质的理解。 2.掌握在MATLAB环境下采用FFT函数编程实现DFT的语句用法。 3.学习用DFT进行谱分析的方法,了解DFT谱分析中出现的频谱泄露和栅栏效应现 象,以便在实际中正确应用DFT。 二、实验步骤: 1.复习DFT的定义、物理含义以及主要性质。 2.复习采用DFT进行谱分析可能出现的三个主要问题以及改善方案。 3.按实验内容要求,上机实验,编写程序。 4.通过观察分析实验结果,回答思考题,加深对DFT相关知识的理解。 三、上机实验内容: 1.编写程序产生下列信号供谱分析用: 离散信号: x1=R10(n) x2={1,2,3,4,4,3,2,1},n=0,1,2,3,4,5,6,7 x3={4,3,2,1, 1,2,3,4},n=0,1,2,3,4,5,6,7 连续信号: x4=sin(2πf1t)+sin(2πf2t) f1=100Hz, f2=120Hz,采样率fs=800Hz 2.对10点矩形信号x1分别进行10点、16点、64点和256点谱分析,要求256点 频谱画出连续幅度谱,10点、16点和64点频谱画出离散幅度谱,观察栅栏效应。 3.产生信号x2和x3分别进行8点、16点谱分析,画出离散幅度谱,观察两个信 号的时域关系和幅度谱的关系。 4.对双正弦信号x4以采样率fs=800Hz抽样,生成离散双正弦信号并画出连续波形; 对离散双正弦信号进行时域截断,截取样本数分别为1000、250、50。对不同样本的双正弦信号分别进行1024点谱分析,画出连续幅度谱,观察频谱泄露现象。

数字信号处理实验报告92885

目录 实验1 离散时间信号的频域分析-----------------------2 实验2 FFT算法与应用-------------------------------7 实验3 IIR数字滤波器的设计------------------------12 实验4 FIR数字滤波器的设计------------------------17

实验1 离散时间信号的频域分析 一.实验目的 信号的频域分析是信号处理中一种有效的工具。在离散信号的时域分析中,通常将信号表示成单位采样序列δ(n )的线性组合,而在频域中,将信号表示成复变量e n j ω-或 e n N j π2-的线性组合。通过这样的表示,可以将时域的离散序 列映射到频域以便于进一步的处理。 在本实验中,将学习利用MATLAB 计算离散时间信号的DTFT 和DFT,并加深对其相互关系的理解。 二、实验原理 (1)DTFT 和DFT 的定义及其相互关系。序列x(n)DTFT 定义为()jw X e = ()n x n e ∞ =∞ ∑ω jn -它是关于自变量ω的复函数,且是以2π为周期的连续函数。 ()jw X e 可以表示为()()()jw jw jw re im X e X e jX e =+,其中,()jw re X e 和()jw im X e 分别是 ()jw X e 实部和虚部;还可以表示为 ()jw X e =()|()|jw j w X e e θ,其中, |()|jw X e 和{} ()arg ()j w X e ωθ=分别是()jw X e 的幅度函数和相位函数;它们都是ω的实函数,也是以2π为周期的周期函数。 序列()x n 的N 点DFT 定义为2211 ()()()()N N j k j kn kn N N N N n X k X e x n e x n W π π ---==== ∑∑,()X k 是周期为N 的序列。()j X e ω与()X k 的关系:()X k 是对()j X e ω)在一个周期 中的谱的等间隔N 点采样,即 2k |()()|jw w N X k X e π = = ,而()j X e ω 可以通过对()X k 内插获得,即

数字信号处理综合设计实验报告

数字信号处理实验八 调制解调系统的实现 一、实验目的: (1)深刻理解滤波器的设计指标及根据指标进行数字滤波器设计的过程(2)了解滤波器在通信系统中的应用 二、实验步骤: 1.通过SYSTEMVIEW软件设计与仿真工具,设计一个FIR数字带通滤波器,预先给定截止频率和在截止频率上的幅度值,通过软件设计完后,确认滤波器的阶数和系统函数,画出该滤波器的频率响应曲线,进行技术指标的验证。 建立一个两载波幅度调制与解调的通信系统,将该滤波器作为两个载波分别解调的关键部件,验证其带通的频率特性的有效性。系统框图如下: 规划整个系统,确定系统的采样频率、观测时间、细化并设计整个系统,仿真调整并不断改进达到正确调制、正确滤波、正确解调的目的。(参考文件

zhan3.svu) (1)检查滤波器的波特图,看是否达到预定要求; (2)检查幅度调制的波形以及相加后的信号的波形与频谱是否正常; (3)检查解调后的的基带信号是否正常,分析波形变形的原因和解决措施;(4)实验中必须体现带通滤波器的物理意义和在实际中的应用价值。 2.熟悉matlab中的仿真系统; 3.将1.中设计的SYSTEMVIEW(如zhan3.svu)系统移植到matlab中的仿真环境中,使其达到相同的效果; 4.或者不用仿真环境,编写程序实现该系统,并验证调制解调前后的信号是否一致。 实验总共提供三个单元的时间(6节课)给学生,由学生自行学习和自行设计与移植 三、系统设计 本系统是基于matlab的simulink仿真软件设计的基带信号调制与解调的系统,利用matlab自带的数字信号仿真模块构成其原理框图并通过设置载波、带通滤波器以及低通滤波器等把基带信号经过载波调制后再经乘法器、带通滤波器和低通滤波器等电路系统能解调出基带信号。 1、实验原理框图

数字信号处理课程设计 1

(一)用窗函数法设计FIR数字滤波器 一、设计题目用窗函数法设计FIR数字低通滤波器 二、设计目的 1. 熟悉设计线性相位数字滤波器的一般步骤。 2. 掌握用窗函数法设计FIR数字滤波器的原理和方法。 3. 熟悉各种窗函数的作用以及各种窗函数对滤波特性的影响。 4. 学会根据指标要求选取合适的窗函数。 三、设计原理 窗函数法又称为傅里叶级数法,FIR数字滤波器的设计问题就是要所设计的FIR数字滤波器的响应H(ejw)去逼近所要求的理想滤波器的响应Hd(ejw)。从单位取样响应序列来看,就是使所设计的滤波器的h(n)逼近理想单位取样响应序列hd(n)。而且Hd(ejw)=逐段恒定的,且在频带边界处有不连续点,因此序列hd(n)是无限长的,通过直接截取无限长序列以得到有限长序列的办法,可以形象的比喻为h(n)通过一个窗口所看到的一段hd(n)。因此,h(n)也可以表达为hd(n)和一个窗函数w(n)的乘积,h(n)=w(n)hd(n)。这里的窗函数就是矩形序列RN(n)。 四、实现方法 用MATLAB编程实现给定指标要求的滤波器设计 五、设计内容及要求 1、各窗函数图(假设N=67;) N=67;

n=0:N-1; wn1=ones(1,N); stem(n, wn1);矩形窗 figure; wn2=hamming(N); stem(n, wn2);海明窗 figure; wn3=BARTLETT(N); stem(n, wn3);巴特列特 figure; wn4= Hanning(N); stem(n, wn4);汉宁窗 将窗函数分别画出来 2、计算理想低通滤波器单位冲激响应的源程序function[hd]=ideal(wc,N) q=(N-1)/2; n=0:N-1; m=n-q+eps; hd=sin(wc*m)./(pi*m); 3、计算频率响应的源程序 function[H]=fr(b,a,w); m=0:length(b)-1; l=0:length(a)-1; num=b*exp(-j*m'*w); den=a*exp(-j*l'*w); H=num./den;

《数字信号处理》课程设计,基于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) figure subplot(2,1,1);

数字信号处理实验报告

前言 《数字信号处理》是信息电子,通信工程等本科专业及其他相近专业的一门专业必修课。通过本课程的学习,学生应掌握以下基本概念、理论和方法:采样定理、离散序列的变换、离散信号的频谱分析;离散系统的传递函数、频率响应、离散系统的基本分析方法;数字滤波器的设计理论、滤波器的软件实现;离散傅立叶变换理论、快速傅立叶变换方法;有限字长效应。 为了使学生更好地理解和深刻地把握这些知识,并在此基础上,训练和培养学生掌握离散系统的基本概念和分析方法,数字滤波器的设计和实现,以及如何利用快速傅立叶变换等DSP技术对数字信号进行分析、滤波等处理,设置了以下三个实验: (1)离散时间序列卷积和MATLAB实现; 内容:使用任意的编程语言编制一个程序,实现两个任意有限序列的卷积和。 目的:理解线性非移变系统I/O关系和实现 要求:掌握使用计算机实现数字系统的方法 (2)FFT算法的MATLAB实现; 内容:使用MATLAB编程语言编制一个程序,实现任意有限序列的FFT。 目的:理解FFT算法的意义和实现 要求:掌握使用计算机实现FFT算法的方法 (3)数字滤波器的设计; 内容:使用MATLAB编程语言编制一个程序,实现FIR或IIR滤波器的设计目的:理解数字滤波器的设计技术 要求:掌握使用计算机进行数字滤波器设计的方法 (4)窗函数设计FIR滤波器; 内容:使用MATLAB编程语言编制一个程序,实现FIR或IIR滤波器的设计目的:理解数字滤波器的设计技术 要求:掌握使用计算机进行数字滤波器设计的方法 该实验指导书是参照该课程的教学大纲而编制的,适合于信息电子工程、通信工程等本科专业及其他相近专业。

数字信号处理课程设计报告

课程设计报告书 数字信号处理课程设计报告书基于Matlab对语音信号进行频谱分析及滤波 学院: 专业: 设计者: 学号: 设计周数: 完成日期:

目录 目录 (2) 一、课程设计目的 (2) 二、课程设计题目 (3) 三、课程设计题目描述和要求 (3) 五、课程设计流程 (5) 六、基于MATLAB的滤波器设计结果分析 (18) 八、设计经验总结 ...................................................................... 错误!未定义书签。 七、参考资料及网址 .................................................................. 错误!未定义书签。 八、附录 ...................................................................................... 错误!未定义书签。

[作者] 钟伟雄 [机构] 广东工业大学在校本科生 摘要: 数字信号处理是通信工程专业的一门相当重要的学科,对日后就业和科研有重大意义,通过MATLAB,我们可以清晰地理解数字信号处理中难以理解的一面,对理论的知识加以深化。 关键字:MATLAB 数字信号处理 GUI 频谱相位滤波器 一、课程设计题目 应用Matlab对语音信号进行频谱分析及滤波 二、课程设计目的 数字信号处理是一门以算法为核心,理论和实践性较强的学科。是电子信息工程、通信工程专业、电子信息科学与技术专业的一门重要的专业技术基础课。数字信号处理课程是在学习完数字信号处理的相关理论后,进行的综合性训练课程,其目的是: 1.使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法; 2.增强学生应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能 力; 三、课程设计内容描述和要求 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,安排了以下的课程设计的内容:录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集

数字信号处理课程设计(对音乐信号的各种处理)

实验1 1、音乐信号的音谱和频谱观察 ○1使用wavread语句读取音乐信号,获取抽样率; ○2输出音乐信号的波形和频谱,观察现象; ○3使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。 clear all;close all;clc [a,fs,bit]=wavread('c:\MATLAB6p5\work\陪你一起看草原.wav'); size(a); y1=a(:,1); a1=y1(10000:60000) figure; subplot(2,1,1),plot(a); subplot(2,1,2),plot(a1); x1=resample(a1,2,1); %y=resample(x,p,q)返回量的长度是向量x的p/q倍sound(x1,fs); %sound(a,fs); N1=length(a1); F1=fft(a1,N1); w=2/N1*[0:N1-1]; %频谱图横坐标设置 figure; plot(w,abs(F1)); N2=length(a1); t=0:1/N2:1/N2*(N2-1); title('傅利叶变换'); %傅利叶变换; figure; plot(a1); title('时域波形'); %时域波形;

1,以二倍的抽样率听声音信号时,音乐播放的特别快,像被压缩了,播放的时间比原信号短。 2,以二分之一的抽样率听声音信号时,音乐播放的特别慢,像被拉长了,播放的时间比原信号长。 3,原信号频谱截止频率为0.5*pi 实验2 2、音乐信号的抽取(减抽样) ○1观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔, 代表混叠和非混叠); ○2输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释; ○3播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。 clear all;close all;clc [a,fs,bit]=wavread('c:\MATLAB6p5\work\陪你一起看草原.wav'); size(a); y1=a(:,1); a1=y1(10000:60000)

数字信号处理课程设计报告

目录 1.设计概述(目的和要求) 3 2.设计任务 3 3.设计题目(简要描述三个题目) 4 4.内容及结果 4 5.思考及体会14

一、课程设计目的及要求 数字信号处理是一门理论性和实践性都很强的学科,通过课程设计可以加深理解掌握基本理论,培养学生分析问题和解决问题的综合能力,为将来走向工作岗位奠定坚实的基础,因此做好课程设计是学好本课程的重要教学辅助环节。 本指导书结合教材《数字信号处理教程》的内容,基于MATLAB程序语言提出课程设计的题目及要求,在做课程设计之前要求学生要尽快熟悉MATLAB语言,充分预习相关理论知识,独立编写程序,以便顺利完成课程设计。 二、课程设计任务 课程设计的过程是综合运用所学知识的过程。课程设计主要任务是围绕数字信号的频谱分析、特征提取和数字滤波器的设计来安排的。根据设计题目的具体要求,运用MATLAB语言完成题目所规定的任务及功能。设计任务包括:查阅专业资料、工具书或参考文献,了解设计课题的原理及算法、编写程序并在计算机上调试,最后写出完整、规范的课程设计报告书。课程设计地点在信息学院机房,一人一机,在教师统一安排下独立完成规定的设计任务。 三、课程设计题目 根据大纲要求提供以下三个课程设计题目供学生选择,根据实际情况也可做其它相关课题。 1.DFT在信号频谱分析中的应用 1. 用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。并与MA TLAB中的内部函数文件fft.m作比较。

2. 对离散确定信号 ()cos(0.48)cos(0.52)x n n n ππ=+ 作如下谱分析: (1) 截取()x n 使()x n 成为有限长序列N(0≤≤n N -1),(长度N 自己选)写程序计 算出()x n 的N 点DFT ()X k ,并画出相应的幅频图()~X k k 。 (2) 将 (1)中()x n 补零加长至M 点(长度M 自己选),编写程序计算()x n 的M 点 DFT 1()X k ,并画出相应的图1()~X k k 。 (3) 利用补零DFT 计算 (1)中N 点有限长序列()x n 频谱()j X e ω并画出相应的幅频图 ()~j X e ωω。 3. 研究高密度谱与高分辨率频谱。 对连续确定信号3()cos(2 6.510)*t a x t t e απ-=?? 令α=103 ,104 ,105 (1)对不同的 α考虑恰当的采样频率进行取样分析,说明理由 (2) 对某一个α采样数据选取适当长度,计算DFT ,画出相应的X(k)和()j X e ω ~ω 2. 有噪声情况下信号幅度谱的研究 1.编写产生均匀分布白噪声序列的M 函数文件drand.m 。 2. 编写计算序列x(n) 正弦信号加白噪声的自相关序列的M 函数文件dcor.m 。 3.编写m 程序文件,分析含噪信号的相关函数及功率密度谱。 3. 取样信号的混叠现象研究 1. 用MA TLAB 语言编写计算N 阶差分方程所描述系统频响函数()j H e ω 的m 函数文件fr.m 。 2. 根据频响特性与系统零极点的关系,自己构造一个N 阶差分方程,使该差分方程为 数字低通滤波器。利用MATLAB 程序画出相应的幅频图()~j H e ω ω。 3. 改变 2.中差分方程的系数,使该差分方程分别为数字高通及全通滤波器。利用 MATLAB 程序画出相应的幅频图()~j H e ω ω。 四 内容及结果

相关文档
相关文档 最新文档