北邮DSP实验报告

合集下载

北邮 DSP硬件实验报告

北邮 DSP硬件实验报告

目录第三章 (2)实验一 (2)实验二 (3)实验三 (4)实验四 (5)实验五 (9)实验六 (13)实验七 (17)第四章 (35)实验一 (35)第三章实验一.mmregs ;定义存储器映像寄存器.global _main ;全局符号,可在外部定义_main:stm #3000h,sp ;设置堆栈指针寄存器的值为3000hssbx xf ;置位状态寄存器xf=1,灯亮call delay ;调用延时子程序,延时rsbx xf ;将xf置0call delay ;调用delay函数b _main ;程序跳转到"_MAIN"nopnop;延时子程序delay:stm 270fh,ar3 ;设置辅助寄存器ar3值为9999loop1:stm 0f9h,ar4 ;设置辅助寄存器ar4值为249loop2:banz loop2,*ar4- ;寄存器ar4值减一,当其值不为0时跳转到loop2 banz loop1,*ar3- ;寄存器ar3值减一,当其值不为0时跳转到loop1 ret ;可选择延迟的返回nop ;空指令nop.end.mmregs.global _main_main:;store data 存入数据stm 1000h,ar1 ;address of internal memory 寄存器ar1地址1000hrpt #07h ;循环执行下一条指令8次st 0aaaah,*ar1+ ;将数据"0AAAAH"存放到以地址1000H~1007H的八个存储单元中.;;read data then re-store 读取数据再存到别的寄存器中stm 7h,ar3 ; 寄存器ar3地址7hstm 1000h,ar1 ; 寄存器ar1地址1000hstm 1008h,ar2 ; 寄存器ar2地址1008hloop: ;循环的将1000H~1007H的八个单元中的数据COPY到1008H~100F的;八个存储单元中.ld *ar1+,t ;,把地址为ar1 的数据单元中的数据装到累加器t 中,ar1 = ar1 +1 st t,*ar2+banz loop,*ar3-here: ;死循环.b here.end.mmregs ;定义映像寄存器.global _main ;声明全局符号.text_main:stm 3100h,sp ;设置堆栈指针寄存器的值为3100hstm 1000h,ar1 ;设置辅助寄存器ar1值为1000hportr 8000h,*ar1 ;读入I/O 8000H数据,将其存储到数据空间的1000H nop ;NOP为空操作,起延时作用.nopportw *ar1,8001h ;将数据空间的1000H单元的数据,写出到I/O 8000H nopnop 5b _main ;程序跳转到"_MAIN"执行.nopnop.end.global _c_int00,_timer0 ;引用函数c_int00,引用了c中的函数.sect ".vecs" ;自定义一个已初始化段.vecsreset: b _c_int00 ;复位中断向量,跳转到主程序nopnopnmi: rete ;非屏蔽外部中断的输入引脚nopnopnop; software interruptssin17: .space 4*16 ;软件中断,内部中断,保留出中断向量的地址空间,将4*16的地址;存储在sin17~sin30sin18: .space 4*16sin19: .space 4*16sin20: .space 4*16sin21: .space 4*16sin22: .space 4*16sin23: .space 4*16sin24: .space 4*16sin25: .space 4*16sin26: .space 4*16sin27: .space 4*16sin28: .space 4*16sin29: .space 4*16sin30: .space 4*16int0: rete ;此处int0中断响应为0,设置rete响应中断并返回nopnopnopint1: rete ;此处int1中断响应为0,设置rete响应中断并返回nopnopnopint2: rete ;此处int2中断响应为0,设置rete响应中断并返回nopnopnoptint0: b _timer0 ;同步串口0(McBSP0)接受中断,直接返回nopnopbrint0: rete ;同步串口0(McBSP1)发送中断,直接返回nopnopnopbxint0: rete ;同步串口0(McBSP1)发送中断,直接返回nopnopnopdmac0: rete ;RESERVED OR DMA CHANNEL0 INTERRUPTnopnopnoptint1_dmac1: rete ;TIMER1 INTERRUPT OR DMA CHANNEL1 INTERRUPTnopnopnopint3: rete ;外部中断int3,允许中断并返回nopnopnophpint: rete ;HPI INTERRUPTnopnopnopbrint1_dmac2: rete ;McBSP1 RECEIVE INTERRUPT OR DMA CHANNEL 2 INTERRUPT nopnopnopbxint1_dmac3: rete ;McBSP1 TRANSMIT INTERRUPT OR DMA CHANNEL 3 INTERRUPT nopnopnopdmac4: rete ;DMA CHANNEL 4 INTERRUPTnopnopnopdmac5: rete ;DMA CHANNEL 5 INTERRUPTnopnopnop; ****************************结束*****************************;*************************************************************//*;* 文件名称: exp04.c;* 适用平台: EXPIII+实验系统;* CPU类型: DSP TMS320VC54X;* 软件环境: CCS3.1 (5000系列);* 试验接线: 1、实验箱的拨码开关SW2.4置OFF(54x的译码有效);54x CPU板的跳线J2的1、2短接;* (HPI 8位模式);SW1的2、6置ON,其余置OFF(HPI使能;DSP工作微处理器方式;;* CPU_CS=0);SW2全部置ON(FLASH工作在数据空间,LED灯D5的工作状态处于灭状态);;* 试验现象: LED灯(LED1~LED8)以一定的间隔时间不停闪亮变化;;*************************************************************//************************文件预处理***************************/#include "tms320uc5402.h"/*************************************************************//********************全局变量定义与初始化*********************/ioport unsigned port8001;unsigned int show=0x00aa;unsigned int num=0x0000;/*************************************************************//*******************函数、子程序声明与定义********************/void sys_ini() //系统初始化子程序{asm(" ssbx INTM"); //全局禁止所有可屏蔽中断PMST&=0x00FF; //(DRAM映射到程序空间和数据空间)向量表映射到0x0080空间SWWSR=0x7000; //io空间7个等待周期,程序与数据空间0个等待周期CLKMD=0x17FA; //CLKOUT=2*CLKIN=2*10M=20M,自动延时最长时间}void timer0_ini() //定时器0初始化子程序{TCR|=0x0010; //停止定时器0PRD=0x2710; //PRD=10000(D)TCR|=0x000A; //TDDR=10(D),所以定时器时钟=1/(20M/10/10000)=5msIMR=0x0008; //使能定时器0中断IFR=0xFFFF; //清除所有中断标志位asm(" rsbx INTM"); //全局使能可屏蔽中断TCR&=0xFFEF; //开始定时器0TCR|=0x0020; //复位定时起0}/*************************************************************//*****************中断服务子程序声明与定义********************/interrupt void timer0() //定时器0中断子程序{if(num==200) //记200次定时器中断,时间=200*5ms=1s{show=~show; //取反num=0;}elsenum++;return;}/*************************************************************//**************************主程序*****************************/ void main(void){sys_ini();timer0_ini();for(;;){port8001=show;}}/***************************结束******************************/实验五Initial.asm.mmregs.global _initial.text_initial:NOPLD #0, DP ;重置数据指针,为DP寄存器赋值0;DP是状态寄存器ST0 的低9 位,和7 位(数据存储器地址)构成16 位数据存储区地址STM #0, CLKMD ;设置时钟模式寄存器的值为0;可通过调整CLKMD 寄存器改变CPU 时钟。

DSP实验报告6

DSP实验报告6

DSP第六、七次实验报告1. 实验目的:(1)进一步熟悉Matlab实验环境和语言。

(2)熟悉各种滤波器的结构及Matlab实现语言。

(3)掌握用冲击响应不变法和双线性变换法设计IIR滤波器的方法。

(4)掌握用窗函数法和频率抽样法设计FIR滤波器的方法。

2. 实验内容及总结:1.滤波器结构:(1)IIR滤波器各种结构1、直接型结构例如直接型滤波器系统函数, 则有系数向量a=[1,a1,a2,a3],b=[b0,b1,b2], 利用:Y=filter[b,a,x]求信号x(n)通过此滤波器的输出。

2、由系统函数或差分方程求系统的二阶分式(含一阶分式)的级联结构将例如的系统函数重写为二阶分式节的级联型, 利用:[sos,G]=tf2sos(b,a)3、由二阶分式的级联结构转换成系统函数的直接结构是第二步的逆运算, 调用函数:[b,a] = sos2tf(sos)可以求得系数向量a,b, 从而得到H(z)4、由系统函数求部分分式展开(留数及其极点计算)即求z反变换的部分分式展开法, 利用:[r,p,c]=residuez(b,a)其中极点为p, 留数为r, 直接项系数为c。

5、由r,p,c求系统函数即第4步的逆运算, 利用:[b,a]=residuez(r,p,c)6、由直接型结构转换为并联型结构需开发函数:[C,B,A]=tf2par(b,a)其中, b,a为直接型的系数向量, C,B,A为并联型实系数向量, 基本思想是: 1.反复调用[r,p,c]=residuez(b,a)求出极点及留数;2.利用cplxpair函数把极点、留数对按复共轭极点-留数对, 实极点-留数对的顺序排列;3.开发cplxcomp函数, 保证极点和留数相互对应;4.调用[b,a]=residuez(r,p,c)计算并联二阶节的分子分母。

7、由并联型结构转换成直接型结构开发函数:[b,a]=par2tf(C,B,A)为[C,B,A]=tf2par(b,a)的逆函数。

北京邮电大学_dsp_matlab实验报告

北京邮电大学_dsp_matlab实验报告

数字信号处理实验报告实验名称:数字信号处理实验学生姓名:班级:班内序号:1.实验要求假设信号x(n) 由下述信号组成:请选择合适的长度N 和窗函数,用DFT 分析其频谱,得到清楚的三根谱线。

2.实验代码和实验结果N = 1000; % Length of DFTn = [0:1:N-1];xn = 0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);Xk = fft(xn,N);k=[0:1:N-1];subplot(5,1,1);stem(k,abs(Xk(1:1:N)));title('DFT x(n)');xlabel('k');axis([140,240,0,6])subplot(5,1,2);stem(k, abs(Xk(1:1:N)),'r');%画出sin(0.3npi)-cos(0.302npi-pi/4) axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,3);stem(k, 1000*abs(Xk(1:1:N)),'g');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');subplot(5,1,4);stem(k,0.01*abs(Xk(1:1:N)),'k');%画%sin(0.3npi)-cos(0.302npi-pi/4)axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,5);stem(k, 10*abs(Xk(1:1:N)),'m');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');结论:由上图及过程可知,当DFT变换长度为1000时所得到的谱线非常理想。

北邮电子DSP硬件报告

北邮电子DSP硬件报告

DSP硬件课程实验报告学院:电子工程学院班级: 2011211203学号: 2011210876姓名:孙月鹏班内序号: 04实验一:常规指令实验一、 实验目的1.熟悉DSP 开发系统的连接2.了解DSP 开发系统的组成和结构和应用系统构成3.熟悉常用C54X 系列指令的用法(程序寻址,寄存器,I/O 口,定时器,中断控制)。

二、 实验设备计算机,CCS 2.0版软件,DSP 仿真器,实验箱。

三、 实验操作方法1、系统连接进行DSP 实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP 开发系统与计算机连接有问题。

2、运行CCS 程序先实验箱上电,然后启动CCS ,此时仿真器上的“绿色小灯”应点亮,并且CCS 正常启动,表明系统连接正常;否则仿真器的连接、JTAG 接口或CCS 相关设置存在问题,掉电,检查仿真器的连接、JTAG 接口连接,或检查CCS 相关设置是否正确。

四、代码注释与实验结果1)简单指令程序运行实验①代码及注释.mmregs ;定义储存器映像寄存器.global _main ;全局符号_main:stm #3000h,sp ;3000h 放入堆栈指针寄存器的首地址中 ssbx xf ;将对外接口XF 置1,此时灯亮call delay ;调用延时子程序,延时rsbx xf ;将XF 置0,call delay ;调用延时子程序,b _main ;程序跳转到"_MAIN"nop ;无任何操作nop;延时子程序delay:PCI/USB/EPP 接口 JTAG 接口 计 算 机 仿 真 器 用户 开发板;2*16*16*16+7*16*16+15=9999loop1: ;循环1stm 0f9h,ar4 ;将ar4的值赋为15*16+9=249loop2: ;循环2banz loop2,*ar4- ;指针地址每次减1,ar4不为0时重复执行loop2 banz loop1,*ar3- ;同上ret ;可选择延迟的返回nop ;无操作nop②程序运行原理:此程序为灯闪烁程序。

北邮 DSP 实验二实验报告

北邮 DSP 实验二实验报告

实验二:数字信号的 FFT 分析题目1假设信号 x(n) 由下述信号组成:()0.001*cos(0.45)sin(0.3)cos(0.302)4x n n n n ππππ=+-- 这个信号有两根主谱线 0.3pi 和 0.302pi 靠的非常近,而另一根谱线 0.45pi 的幅度很小,请选择合适的长度 N 和窗函数,用 DFT 分析其频谱,得到清楚的三根谱线。

步骤:1.编写离散傅里叶变换DFT 函数:function [Xk] = dft(xn,N)% Computes Discrete Fourier Transform Coefficients% [Xk] = dft(xn,N)% Xk = DFT coeff. array over 0 <= k <= N-1% xn = input signal% N = length of DFTn = [0:1:N-1]; % row vector for nk = [0:1:N-1]; % row vecor for kWN = exp(-j*2*pi/N); % Wn factornk = n'*k; % creates a N by N matrix of nk valuesWNnk = WN .^ nk; % DFT matrixXk = xn * WNnk; % row vector for DFT coefficients2.代码实现:n=0:1:999;x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-0.25*pi);stem(n,x);title('signal x(n), 0<=n<=999');xlabel('n');X=dft(x,1000);% 计算1000点DFT magX=abs(X(1:1:501));% 镜像对称,只画出一半 k=0:1:500;w=2*pi*k/1000;stem(w/pi,magX);title('DTFT Magnitude');xlabel('frequency in pi units');axis([0.29,0.31,0,500]);xlabel('frequency between 0.29pi and 0.31pi');axis([0.44,0.46,0,0.5]);xlabel('frequency between 0.44pi and 0.46pi');3.图片:4.分析:x(n)由3个正弦函数叠加而成,周期分别是40, 20, 1000。

北邮MATLab仿真实验报告DSP

北邮MATLab仿真实验报告DSP

北京邮电大学MATLAB仿真实验报告姓名:班级:学号:班内序号实验一:数字信号的FFT 分析1. 实验内容及要求离散信号的频谱分析: 设信号此信号的0.3pi 和 0.302pi 两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。

2. 实验分析要得到清晰的三根谱线,用matlab 内置函数fft 对时域信号进行快速傅里叶变换,需要选好变换点数N ,以避免出现频谱模糊现象。

程序中选择N=1000由于谱线0.45pi 的幅度很小,在作图时需要对坐标比例进行控制。

使用axis 函数实现。

3. 代码及注释频谱分析:clf;close all;%关闭所有图形窗口N=1000;%DFT 点数n=[1:1:N];x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);y=fft(x,N);mag=abs(y);%对FFT 结果求模w=2*pi/N*[0:1:N-1]; %数字角频率wsubplot(2,1,1);%将图形窗分为2行1列stem(n,x,'.');%画脉冲图title('时域');xlabel('n');ylabel('x(n)');subplot(2,1,2);stem(w/pi,mag);%归一化角频率axis([0 0.5 0 2]);%控制坐标范围以使谱线幅度合适title('1000点DFT');xlabel('数字频率');ylabel('X(k)');grid on;4. 结果截图00010450303024().*cos(.)sin(.)cos(.)x n n n n ππππ=+--5. 遇到的问题和解决方法在进行第一题的DFT 变换时,不知道该选取多大的取样点数N 才能得到清晰的三根谱线。

北邮信号与信息处理DSP实验二

北邮信号与信息处理DSP实验二

北邮信号与信息处理DSP实验二信号与信息综合处理实验报告学院:班级:姓名:学号:实验二 FFT 实现1. 实验目的进一步熟悉CCS v5的开发环境,掌握调试的要素,并理解FFT 的过程。

2. 实验原理2.1FFT 变换(1) FFT 算法:[]122()()(/2)0,1,...,1()()(/2)N n Nx n x n x n N n x n x n x n N W =++⎧⎪=-⎨=-+⎪⎩,/2111/20/2122/20()(2)()()(21)()N nr N n N nr N n X k X r x n W X k X r x n W -=-=⎧==⎪⎪⎨⎪=+=⎪⎩∑∑(2) 蝶形运算图:(3) 实现函数:DSP_fft(w, N, x, y)。

2.2IFFT变换(1)算法实现:(2)实现流程:2.3SDRAM(1)EMIFA_Config:在csl_emifa.h中声明了一个结构体EMIFA_Config,用来配置EMIFA。

结构体中声明的12个32位无符号整形变量为EMIFA总线的12个接口寄存器;(2)指定SDRAM数据空间:#pragmaDATA_SECTION(sdram_data,".off_ram");unsigned int sdram_data[0x10000];上述代码含义为定义一个全局变量sdram_data[0x10000],将它指定到自定义的数据空间段off_ram中,其中函数具体用法为#pragma DATA_SECTION(函数名或全局变量名,"用户自定义在数据空间的段名";(3)CMD文件:DSP系统中存在大量的存储器,CMD文件描述物理存储器的管理、分配和使用情况,用于DSP 代码的定位。

3.程序功能3.1FFT变换通过给定的旋转因子,利用DSP_fft (w, N, x, y ) 函数,对给定64点序列进行FFT变换,其中N 为变换点数,具体说明如下:(1)w[64]为64点FFT的旋转因子,由tw_fft16x16.exe生成;(2)x[128]内存放原序列,即输入时域信号的实部虚部按顺序排列;(3)y[128]内存放FFT变换后的序列,实部虚部按顺序排列;(4)m[64]内存放FFT变换后64点模值的平方。

北邮信号与信息处理DSP实验三剖析

北邮信号与信息处理DSP实验三剖析

信号与信息综合处理实验报告学院:信息与通信工程学院班级:2013211124姓名:王丹頔学号:2013210659实验三FIR滤波器实现1.实验目的进一步熟悉CCS v5的开发环境,掌握调试的要素,并理解FIR的过程。

2.实验原理2.1AIC23(1)AIC23相关介绍图1 AIC23结构图图2 AIC23编码器控制寄存器图3 AIC23寄存器集合图4 采样速率设置图5 采样率可配参数(2)void DSK6416_init()-设置所有的CPLD寄存器到上电状态,初始化内部BSL数据结构;-在使用任何BSL函数之前都必须调用。

(3)DSK6416_AIC23_openCodec函数-DSK6416_AIC23_CodecHandle DSK6416_AIC23_openCodec (int id, DSK6416_AIC23_Config *Config);-id:指定使用哪个编码器,DSK6416上为id=0;-Config:指向包含编码器寄存器值的结构,以该结构中的值初始化寄存器;-调用成功:返回编码器句柄;失败:返回INV常数(-1)。

(4)DSK6416_AIC23_write函数-Int16 DSK6416_AIC23_write(DSK6416_AIC23_CodecHandle hCodec, Int32 val);-hCodec, Val:编码器句柄,写入编码器的值;- 返回TRUE :数据成功写入; - 返回FALSE :数据端口忙。

(5) DSK6416_AIC23_closeCodec 函数- DSK6416_AIC23_closeCodec(DSK6416_AIC23_CodecHandle hCodec); - 关闭编码器。

2.2 FIR 滤波器实现(1) FIR 滤波器介绍滤波器就是在时间域或频域内,对已知激励产生规定响应的网络,使其能够从信号中提取有用的信号,抑制并衰减不需要的信号。

DSP实验报告(综合)

DSP实验报告(综合)

实验报告||实验名称 D SP课内系统实验课程名称DSP系统设计||一、实验目的及要求1. 掌握用窗函数法设计FIR数字滤波器的原理和方法。

熟悉线性相位FIR 数字滤波器特性。

了解各种窗函数对滤波器特性的影响。

2. 掌握设计IIR数字滤波器的原理和方法。

熟悉IIR数字滤波器特性。

了解IIR数字滤波器的设计方法。

3.掌握自适应数字滤波器的原理和实现方法。

掌握LMS自适应算法及其实现。

了解自适应数字滤波器的程序设计方法。

4.掌握直方图统计的原理和程序设计;了解各种图像的直方图统计的意义及其在实际中的运用。

5.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法。

6.了解锐化的算法和用途,学习利用拉普拉斯锐化运算的程序设计方法。

7.了解取反的算法和用途,学习设计程序实现图像的取反运算。

8.掌握直方图均衡化增强的原理和程序设计;观察对图像进行直方图均衡化增强的效果。

二、所用仪器、设备计算机,dsp实验系统实验箱,ccs操作环境三、实验原理(简化)FIR:有限冲激响应数字滤波器的基础理论,模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。

数字滤波器系数的确定方法。

IIR:无限冲激响应数字滤波器的基础理论。

模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。

数字滤波器系数的确定方法。

、自适应滤波:自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。

e(n)=z(n)-y(n)=s(n)+d(n)-y(n)直方图:灰度直方图描述了一幅图像的灰度级内容。

灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素个数与图像像素总数之比)。

图像边缘化:所谓边缘(或边沿)是指其周围像素灰度有阶跃变化。

经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘临近一阶或二阶方向导数变化规律,用简单的方法检测边缘。

DSP实验报告(一)

DSP实验报告(一)

实验一 信号系统及系统响应一、实验目的1、 熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。

2、 熟悉离散信号和系统的时域特性。

3、 熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。

4、 掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。

二、实验原理(一)连续时间信号的采样采样是指按一定的频率从模拟信号抽样获得数字信号。

采样是从连续时间信号到离散时间信号的过渡桥梁。

对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲激脉冲的乘积,即()()()ˆa a x t x t M t =(1)其中连续信号的理想采样,是周期冲激脉冲()()n M t t n T d +=-=-å(2)它也可以用傅立叶级数表示为:1()s jm tn M t eT+W =-=å(3)其中T 为采样周期,Ω是采样角频率。

设是连续时间信号的双边拉氏变换,即有:()()ata a X s x t edt+--=ò(4)此时理想采样信号的拉氏变换为()ˆˆ()()1ˆ()1ˆ()1()s s ataa jm tsta m s jm ta m a s m X s x t e dtxt ee dtTxt e dtT X s jm T+--++W -=--++--W =- -++=--====-W òåòåòåò(5)作为拉氏变换的一种特例,信号理想采样的傅立叶变换1ˆ()[()]aa s m X j X j m T+=-W =W-W å(6)由式(5)和式(6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率。

根据Shannon 取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混淆现象。

DSP实验报告(二)

DSP实验报告(二)

DSP实验报告(二)实验二应用FFT对信号进行频谱分析一、实验目的1、在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。

2、熟悉应用FFT对典型信号进行频谱分析的方法。

3、了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。

二、实验原理与方法①一个连续信号的频谱可以用它的傅立叶变换表示为+ Xa(jW)=-jWtx(t)edtòa-如果对该信号进行理想采样,可以得到采样序列x(n)=xa(nT)同样可以对该序列进行z变换,其中T为采样周期X(z)=+ x(n)z-n+ -令z为ejw,则序列的傅立叶变换X(ejw)=x(n)ejwn-其中ω为数字频率,它和模拟域频率的关系为w=WT=W/fs式中的是采样频率。

上式说明数字频率是模拟频率对采样率的归一化。

同模拟域的情况相似。

数字频率代表了序列值变化的速率,而序列的傅立叶变换称为序列的频谱。

序列的傅立叶变换和对应的采样信号频谱具有下式的对应关系。

1X(e)=Tjw+ - w-2pXa(j)T即序列的频谱是采样信号频谱的周期延拓。

从式可以看出,只要分析采样序列的谱,就可以得到相应的连续信号的频谱。

注意:这里的信号必须是带限信号,采样也必须满足Nyquist定理。

在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。

无限长的序列也往往可以用有限长序列来逼近。

有限长的序列可以使用离散傅立叶变换。

当序列的长度是N时,定义离散傅立叶变换为:X(k)=DFT[x(n)]=其中W=e2pj-NN-1n=0WNkn它的反变换定义为:1x(n)=IDFT[X(k)]=N根据式和,则有N-1n=0X(k)WNknX(z)|z=Wnk=NN-1n=0x(n)WNnk=DFT[x(n)]j2pN可以得到X(k)2pk的点,就NN是将单位圆进行N等分以后第k个点。

所以,X(k)是z变换在单位圆上的等距采样,或者说是序列傅立叶变换的等距采样。

北邮dsp实验报告

北邮dsp实验报告

北邮dsp实验报告北邮DSP实验报告一、引言数字信号处理(Digital Signal Processing,简称DSP)是一门研究如何对数字信号进行分析、处理和合成的学科。

作为一门重要的电子信息科学与技术专业的实验课程,北邮DSP实验旨在让学生通过实践掌握DSP的基本理论和实际应用。

本实验报告将对北邮DSP实验进行详细介绍和总结。

二、实验目的北邮DSP实验的主要目的是让学生通过实际操作,深入理解数字信号处理的基本概念和方法,并掌握DSP实验的基本流程和技巧。

具体目标包括:1. 熟悉DSP实验平台的硬件结构和软件环境;2. 掌握数字信号的采样、量化和编码方法;3. 学习常见的数字滤波器设计和实现方法;4. 理解信号频谱分析和频域滤波的原理和应用;5. 实现音频信号的处理和效果增强。

三、实验内容北邮DSP实验主要包括以下内容:1. DSP实验平台的介绍:包括硬件结构和软件环境的说明,学生需要了解DSP实验平台的基本构成和使用方法。

2. 数字信号的采样与重构:学生需要通过实际操作,了解采样定理的原理和应用,以及数字信号的重构方法。

3. 数字信号的量化与编码:学生需要学习数字信号的量化误差和编码方法,并通过实验验证量化误差的影响。

4. FIR数字滤波器设计与实现:学生需要学习FIR滤波器的设计原理和方法,并通过实验实现低通、高通和带通滤波器。

5. IIR数字滤波器设计与实现:学生需要学习IIR滤波器的设计原理和方法,并通过实验实现巴特沃斯和切比雪夫滤波器。

6. 音频信号的处理与效果增强:学生需要学习音频信号的基本特性和处理方法,包括均衡器、混响器和压缩器等效果器的实现。

四、实验过程北邮DSP实验的具体过程如下:1. 实验准备:学生需要提前熟悉实验平台的硬件结构和软件环境,并准备好实验所需的音频信号和滤波器设计参数。

2. 实验操作:学生按照实验指导书的步骤进行实验操作,包括采样与重构、量化与编码、滤波器设计与实现等。

北邮信息工程信号与信息处理综合实验DSP实验二报告(FFT实现)

北邮信息工程信号与信息处理综合实验DSP实验二报告(FFT实现)

北邮信息工程信号与信息处理综合实验DSP实验二报告(FFT实现)信息与通信工程学院信号与信息处理综合实验报告(DSP部分)班级:姓名:学号:序号:日期:信号与信息处理综合实验报告实验二 FFT实现一、实验目的进一步熟悉CCS v5的开发环境,掌握调试的要素,并理解FFT的过程。

二、程序功能1、基本功能本程序的基本要求是:将FFT结果写入SDRAM后,并读取出来。

2、拓展功能(1)其他点数的FFT;(2)FFT后再进行IFFT,验证是否与原数据一致。

三、程序基本信息(一)、程序模块描述:1、FFT程序(实现基本功能):(1)FFT部分:1?主函数(main):初始化输入序列、旋转因子、FFT点数,负责其它功能函数的调用,并完成一些基本操作。

2?void DSP_radix2(int n, short *restrict xy, const short *restrict w):完成FFT运算(基2频域抽选)。

参数说明:n是输入序列的长度,short xy是输入序列(复数),const short w为旋转因子。

3? void bitrev_index(short *index, int n):计算得到重新排序表,n 为序列长度。

4? void DSP_bitrev_cplx(int *x, short *index, int nx):根据bitrev_index计算的排序表,把FFT输出的复数序列x重新排序为自然顺序。

DSP_bitrev_cplx:(2)SDRAM配置与写入部分:主函数(main):负责其它功能的调用,执行SDRAM写入、读取和检测,并点亮对应的LED。

EMIFA_config(&MyEmifaConfig):实现对EMIFA总线的12个接口寄存器的配置。

具体配置信息在MyEmifaConfig结构体中。

第1页信号与信息处理综合实验报告 #pragmaDATA_SECTION(sdram_data,".off_ram");数据段定义,定义要写入的数据位置,需要在CMD文件中建立对应的section。

北邮DSP实验报告

北邮DSP实验报告

北京邮电大学数字信号处理硬件实验实验名称:dsp硬件操作实验姓名:刘梦颉班级: 2011211203 学号:2011210960 班内序号:11 日期:2012年12月20日实验一常用指令实验一、实验目的了解dsp开发系统的组成和结构,熟悉dsp开发系统的连接,熟悉dsp的开发界面,熟悉c54x系列的寻址系统,熟悉常用c54x系列指令的用法。

二、实验设备计算机,ccs 2.0版软件,dsp仿真器,实验箱。

三、实验操作方法1、系统连接进行dsp实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:1)上电复位在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则dsp开发系统与计算机连接有问题。

2)运行ccs程序先实验箱上电,然后启动ccs,此时仿真器上的“绿色小灯”应点亮,并且ccs正常启动,表明系统连接正常;否则仿真器的连接、jtag接口或ccs相关设置存在问题,掉电,检查仿真器的连接、jtag接口连接,或检查ccs相关设置是否正确。

四、实验步骤与内容1、实验使用资源实验通过实验箱上的xf指示灯观察程序运行结果2、实验过程启动ccs 2.0,并加载“exp01.out”;加载完毕后,单击“run”运行程序;五、实验结果可见xf灯以一定频率闪烁;单击“halt”暂停程序运行,则xf灯停止闪烁,如再单击“run”,则“xf”灯又开始闪烁;关闭所有窗口,本实验完毕。

六、源程序代码及注释流程图:实验二资料存储实验一、实验目的掌握tms320c54的程序空间的分配;掌握tms320c54的数据空间的分配;熟悉操作tms320c54数据空间的指令。

二、实验设备计算机,ccs3.3版软件,dsp仿真器,实验箱。

三、实验系统相关资源介绍本实验指导书是以tms32ovc5410为例,介绍相关的内部和外部内存资源。

对于其它类型的cpu请参考查阅相关的资料手册。

下面给出tms32ovc5410的内存分配表:对于存储空间而言,映像表相对固定。

北邮 DSP 实验一

北邮 DSP 实验一

6.1
使用printf语句输出 。
6.2
首先初始化板子初始函数以及LED及DIP,然后设置while循环,在循环之中读取CPLD寄存器的八比特数值。若检测到数值为0XE0,即表示只有DIP0按下,则设置CPLD寄存器八比特数值为0XEF,即表示四盏灯全亮,延迟一段时间之后,设置CPLD寄存器八比特数值为0XE0,即表示四盏灯全灭,并延迟相同时间;否则设置CPLD寄存器八比特数值为0XE0,即表示四盏灯全灭。
3)跑马灯顺序亮灭
只按下DIP1并如上图所示设置断点,单步运行后查看寄存器的值,低八位的值为D1,与所赋的值相同,此时第一盏灯亮,如下图所示:
4)跑马灯加速亮灭
同时按下DIP1及DIP2并如上图所示设置断点,单步运行后查看寄存器的值,低八位的值为90,与所赋的值相同,此时四盏灯全灭,如下图所示:
九.
十.心得体会
总体来说第一次DSP实验比较简单,主要是学习DSP芯片的基本知识,熟悉DSK开发板以及Code Composer Studio v5集成开发环境,掌握利用CPLD的USER_REG寄存器配置LED和DIP开关的方法,了解程序优化的原理和基本操作。感觉编程能力方面要求不高,在原来的编程基础上需要掌握DSK6416相关函数、LED相关函数和4DIP开关相关函数的使用就可以。除了在熟悉软件和开发板上遇到了一些问题以外,实验的其他方面进行得非常顺利,在基本功能实现后我们很快就完成了其他扩展功能,比如实现了LED全亮全灭,跑马灯及变速等功能。另外根据实验课件教程,我们进行了多次的断点调试,使用软件更加熟练,为之后的实验做充足的准备。
DSK6416_waitusec(delay1);
}
else
{
DSK6416_rset(DSK6416_USER_REG,0XE0);

北邮dsp实验一报告

北邮dsp实验一报告

DSP实验报告
1.实验要求
●(1) 常用数字信号序列的产生:
●熟悉 Matlab 产生数字信号的基本命令,加深对数字信号概念的理解,并能够
用 Matlab 产生和绘制出一些常用离散信号序列。

请用Matlab画出下列序列的波形(-10<n<10):
●a) δ(n)
●b) 单位阶跃序列 2 u(n-5)
●c) 矩形序列 R(n)
●d)y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn)
●(2)加、减、尺度(乘除)和移位是数字信号处理中最基本的算术运算,将
上述基本序列进行这些基本运算,得到多个序列构成的组合序列。

●(3)请用您的计算机声卡采用一段您自己的声音 x(n),长度为 45秒,单声道,
取样频率 44.1kHz,16bit/样值,然后与给定的一段背景音乐 y(n) 按下式叠加为一个声音信号 z(n):z(n) = 0.7x(n) + 0.3y(n)
●要求在同一个 Figure 中,画出采集声音 x(n)、背景音乐 y(n)和混音 z(n) 的时域波
形;
2.实验代码
实验图像见文件夹中的JPG图片。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京邮电大学数字信号处理硬件实验实验名称:dsp硬件操作实验姓名:刘梦颉班级: 2011211203 学号:2011210960 班内序号:11 日期:2012年12月20日实验一常用指令实验一、实验目的了解dsp开发系统的组成和结构,熟悉dsp开发系统的连接,熟悉dsp的开发界面,熟悉c54x系列的寻址系统,熟悉常用c54x系列指令的用法。

二、实验设备计算机,ccs 2.0版软件,dsp仿真器,实验箱。

三、实验操作方法1、系统连接进行dsp实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:1)上电复位在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则dsp开发系统与计算机连接有问题。

2)运行ccs程序先实验箱上电,然后启动ccs,此时仿真器上的“绿色小灯”应点亮,并且ccs正常启动,表明系统连接正常;否则仿真器的连接、jtag接口或ccs相关设置存在问题,掉电,检查仿真器的连接、jtag接口连接,或检查ccs相关设置是否正确。

四、实验步骤与内容1、实验使用资源实验通过实验箱上的xf指示灯观察程序运行结果2、实验过程启动ccs 2.0,并加载“exp01.out”;加载完毕后,单击“run”运行程序;五、实验结果可见xf灯以一定频率闪烁;单击“halt”暂停程序运行,则xf灯停止闪烁,如再单击“run”,则“xf”灯又开始闪烁;关闭所有窗口,本实验完毕。

六、源程序代码及注释流程图:实验二资料存储实验一、实验目的掌握tms320c54的程序空间的分配;掌握tms320c54的数据空间的分配;熟悉操作tms320c54数据空间的指令。

二、实验设备计算机,ccs3.3版软件,dsp仿真器,实验箱。

三、实验系统相关资源介绍本实验指导书是以tms32ovc5410为例,介绍相关的内部和外部内存资源。

对于其它类型的cpu请参考查阅相关的资料手册。

下面给出tms32ovc5410的内存分配表:对于存储空间而言,映像表相对固定。

值得注意的是内部寄存器与存储空间的映像关系。

因此在编程应用时这些特定的空间不能作其它用途。

对于篇二:31北邮dsp软件实验报告北京邮电大学dsp软件matlab仿真实验报告学院:电子工程学院班级:2011211207 姓名:何佳羲学号:2012211009 班内序号:15 提交日期:2014.12 目录实验一:数字信号的 fft 分析 (2)1、实验内容及要求 (2)2、实验目的 (2)3、设计思路 (2)4、实验结果 (3)实验二: dtmf 信号的编码 (6)1、实验内容及要求 (6)2、实验目的 (6)3、设计思路 (6)4、实验代码和运行结果 (7)实验三:fir 数字滤波器的设计和实现 (11)1、实验内容及要求: (11)2、实验目的 (11)3、设计思路 (11)4、实验结果 (13)实验总结: (15)实验一:数字信号的 fft 分析1、实验内容及要求(1) 离散信号的频谱分析:? 设信号x(n)?0.001*cos(0.45n?)?sin(0.3n?)?cos(0.302n??)4 此信号的0.3pi 和 0.302pi两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 n 和窗函数,用 dft 分析其频谱,要求得到清楚的三根谱线。

(2) dtmf 信号频谱分析用计算机声卡采用一段通信系统中电话双音多频(dtmf)拨号数字 0~9的数据,采用快速傅立叶变换(fft)分析这10个号码dtmf拨号时的频谱。

2、实验目的通过本次实验,应该掌握:(a) 用傅立叶变换进行信号分析时基本参数的选择。

(b) 经过离散时间傅立叶变换(dtft)和有限长度离散傅立叶变换(dft)后信号频谱上的区别,前者 dtft 时间域是离散信号,频率域还是连续的,而 dft 在两个域中都是离散的。

(c) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。

(d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。

(e) 建立 dft 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 dvd ac3 和mpeg audio。

3、设计思路(1)由信号 x(n)?0.001*cos(0.45n?)?sin(0.3n?)?cos(0.302n??)4 可知,频谱分析以后0.3pi 和 0.302pi两根谱线相距很近,因此所用的fft的n值要足够大,才能保证看到两条清晰的谱线;而谱线 0.45pi 的幅度很小,所以加窗时应该适当提高幅度。

在加窗的时,如若参数选取不当会产生频谱泄漏,为了满足题设要求得到三根清晰的谱线,根据w=2*pi/n*k =&gt; k=w/2/pi*n(k属于整数),得n必须是1000的倍数,在程序中设定n的值为20000.用matlab提供的fft函数进行dft变换,再利用stem函数画出频谱图,用axis 函数限定了坐标轴范围。

(2)双音多频信号dtmf每个数字由两个不同频率的正弦波组成,低频有:697hz,770hz,852hz,941hz,高频有:1209hz,1336hz,1477hz,1633hz,0-9这十个数字每个数字对应一个低频信号和一个高频信号叠加。

分别用两个数组装载高频和低频,再产生由两个正弦波叠加成的dtmf信号,最后利用plot和fft函数画出对应的频谱图。

4、实验结果(1)离散信号的频谱分析【实验代码】clearclose alln=20000;n=1:1:n;x=0.001*cos(0.45*pi*n)+sin(0.3*pi*n)-cos(0.302*pi*n-pi/4); y=fft(x,n);magy=abs(y(1:1:n/2+1));k=0:1:n/2;w=2*pi/n*k;stem(w/pi,magy);axis([0.25,0.5,0,60]) 【实验结果】(2)dtmf信号频谱分析【实验代码】clearclose all column=[1209,1336,1477,1633]; line=[697,770,852,941]; fs=8000;n=1024;ts=1/fs; n=0:n-1;f=0:fs/n:fs/n*(n-1); key=zeros(10,n);key(1,:)=cos(2*pi*column(1)*ts*n)+cos(2*pi*line(1)*ts*n); key(2,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(1)*ts*n); key(3,:)=cos(2*pi*column(3)*ts*n)+cos(2*pi*line(1)*ts*n); key(4,:)=cos(2*pi*column(1)*ts*n)+cos(2*pi*line(2)*ts*n); key(5,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(2)*ts*n); key(6,:)=cos(2*pi*column(3)*ts*n)+cos(2*pi*line(2)*ts*n); key(7,:)=cos(2*pi*column(1)*ts*n)+cos(2*pi*line(3)*ts*n); key(8,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(3)*ts*n);key(9,:)=cos(2*pi*column(3)*ts*n)+cos(2*pi*line(3)*ts*n); key(10,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(4)*ts*n); figure;for i=1:9subplot(3,4,i)plot(f,abs(fft(key(i,:)))); xlabel(频率(hz));ylabel(幅值); title(i);grid;subplot(3,4,10)plot(f,abs(fft(key(10,:)))); xlabel(频率(hz));ylabel(幅值); title(0);grid;end篇三:dsp软件实验报告--matlab 北邮实验一:数字信号的fft分析1.实验目的通过本次试验,应该掌握:(a)用傅里叶变换进行信号分析时基本参数的选择(b)经过离散时间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别,前者dtft时间域是离散信号,频率域还是连续的,而dft在两个域中都是离散的。

(c)离散傅里叶变化的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。

(d)获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。

(e)建立dft从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用时数字音频压缩中的分析滤波器,例如dvd ac3和mpeg audio。

2.实验内容、要求及结果。

(1)离散信号的频谱分析:设信号x(n)=0.001*cos(0.45nπ)+sin(0.3nπ)-cos(0.302nπ-) 4π此信号的0.3π和0.302π两根谱线相距很近,谱线0.45π的幅度很小,请选择合适的序列长度n和窗函数,用dft分析其频谱,要求得到清楚的三根谱线。

【实验代码】:clear;close all;n=5000;n=1:1:n;x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4); y=fft(x,n);a=abs(y(1:1:n/2+1));k=0:1:n/2;w=2*pi/n*k;stem(w/pi,a);axis([0.29,0.46,0,10]);【实验结果图】:(2)dtmf信号频谱分析用计算机声卡采集一段通信系统中电话双音多频(dtmf)拨号数字0~9的数据,采用快速傅里叶变换(fft)分析这10个号码dtmf拨号时的频谱。

【实验代码】:clear;close all;column=[1209,1336,1477,1633]; line=[697,770,852,941]fs=10000;n=1024;ts=1/fs;n=0:n-1;f=0:fs/n:fs/n*(n-1); key=zeros(16,n);key(1,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(1)*n*ts); key(2,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(1)*n*ts); key(3,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(1)*n*ts); key(4,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(2)*n*ts); key(5,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(2)*n*ts); key(6,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(2)*n*ts); key(7,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(3)*n*ts); key(8,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(3)*n*ts); key(9,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(3)*n*ts); key(10,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(4)*n*ts); figure;for i=1:10subplot(4,4,i)plot(f,abs(fft(key(i,:)))); grid;end【实验结果图】:实验二:dtmf信号的编码1. 实验目的:(a)复习和巩固iir数字滤波器的基本概念;(b)掌握iir数字滤波器的设计方法;(c)掌握iir数字滤波器的实现结构;(d)能够由滤波器的实现结构分析滤波器的性能(字长效应);(e)了解通信系统电话dtmf拨号的基本原理和iir数字滤波器的实现方法。

相关文档
最新文档