DSP实验一--FFT

合集下载

DSP实现FFT的代码

DSP实现FFT的代码

DSP实现FFT的代码FFT(快速傅里叶变换)是一种高效的算法,用于计算离散时间序列的离散傅里叶变换(DFT)。

它有广泛的应用,例如信号处理、图像处理和音频处理等领域。

以下是一个基于C语言的FFT实现的代码示例:```c#include <stdio.h>#include <math.h>//计算复数的乘积*result_real = a_real * b_real - a_imag * b_imag;*result_imag = a_real * b_imag + a_imag * b_real;//执行FFT变换(递归实现)void fft(double x_real[], double x_imag[], double X_real[], double X_imag[], int N, int step)if (step < N)fft(X_real, X_imag, x_real, x_imag, N, step * 2);fft(X_real + step, X_imag + step, x_real + step, x_imag + step, N, step * 2);for (int i = 0; i < N; i += 2 * step)double t_real = cos(-M_PI*i / N);double t_imag = sin(-M_PI*i / N);double r_real = 1;double r_imag = 0;for (int j = 0; j < step; j++)double u_real = x_real[i + j];double u_imag = x_imag[i + j];double v_real = x_real[i + j + step] * r_real - x_imag[i + j + step] * r_imag;double v_imag = x_real[i + j + step] * r_imag + x_imag[i + j + step] * r_real;x_real[i + j] = u_real + v_real;x_imag[i + j] = u_imag + v_imag;x_real[i + j + step] = u_real - v_real;x_imag[i + j + step] = u_imag - v_imag;}}}//执行FFT变换(接口函数)void perform_fft(double x_real[], double x_imag[], doubleX_real[], double X_imag[], int N)for (int i = 0; i < N; i++)X_real[i] = x_real[i];X_imag[i] = x_imag[i];}fft(x_real, x_imag, X_real, X_imag, N, 1);```要使用上述代码计算FFT变换,可以按照以下步骤进行:1. 定义输入序列数组`x_real`和`x_imag`,其中`x_real`包含实部,`x_imag`包含虚部。

(完整word版)基于DSP的快速傅立叶变换(FFT)的实现(汇编语言)

(完整word版)基于DSP的快速傅立叶变换(FFT)的实现(汇编语言)

快速傅立叶变换(FFT )的实现一、实验目的1.了解FFT 的原理及算法;2.了解DSP 中FFT 的设计及编程方法;3.熟悉FFT 的调试方法;二、实验原理FFT 是一种高效实现离散付立叶变换的算法,把信号从时域变换到频域,在频域分析处理信息。

对于长度为N 的有限长序列x (n ),它的离散傅里叶变换为:(2/)j N nk N W e π-=,称为旋转因子,或蝶形因子。

在x (n )为复数序列的情况下,计算X (k ):对某个k 值,需要N 次复数乘法、(N -1)次复数加法;对所有N 个k 值,需要2N 次复数乘法和N (N -1)次复数加法。

对于N 相当大时(如1024)来说,直接计算它的DFT 所作的计算量是很大的,FFT 的基本思想在于: 利用2()j nk N N W e π-=的周期性即:k N k N N W W +=对称性:/2k k N N N W W +=-将原有的N 点序列分成两个较短的序列,这些序列的DFT 可以很简单的组合起来得到原序列的DFT 。

按时间抽取的FFT ——DIT FFT 信号流图如图5.1所示:图5.1 时间抽取的FFT —DIT FFT 信号流图FFT 算法主要分为以下四步。

第一步 输入数据的组合和位倒序∑=-=10)()(N n nk N W n x k X把输入序列作位倒序是为了在整个运算最后的输出中得到的序列是自然顺序。

第二步 实现N 点复数FFT第一级蝶形运算;第二级蝶形运算;第三级至log2N 级蝶形运算;FFT 运算中的旋转因子N W 是一个复数,可表示:为了实现旋转因子N W 的运算,在存储空间分别建立正弦表和余弦表,每个表对应从0度到180度,采用循环寻址来对正弦表和余弦表进行寻址。

第三步 功率谱的计算X (k )是由实部()R X k 和虚部()I X k 组成的复数:()()()R I X k X k jX k =+;计算功率谱时只需将FFT 变换好的数据,按照实部()R X k 和虚部()I X k 求它们的平方和,然后对平方和进行开平方运算。

DSP实验报告-周期信号的频谱分析处理

DSP实验报告-周期信号的频谱分析处理

实验报告一、实验目的和要求谱分析即求信号的频谱。

本实验采用DFT/FFT技术对周期性信号进行谱分析。

通过实验,了解用X(k)近似地表示频谱X(ejω)带来的栅栏效应、混叠现象和频谱泄漏,了解如何正确地选择参数(抽样间隔T、抽样点数N)。

二、实验内容和步骤2-1 选用最简单的周期信号:单频正弦信号、频率f=50赫兹,进行谱分析。

2-2 谱分析参数可以从下表中任选一组(也可自定)。

对各组参数时的序列,计算:一个正弦周期是否对应整数个抽样间隔?观察区间是否对应整数个正弦周期?2-3 对以上几个正弦序列,依次进行以下过程。

2-3-1 观察并记录一个正弦序列的图形(时域)、频谱(幅度谱、频谱实部、频谱虚部)形状、幅度谱的第一个峰的坐标(U,V)。

2-3-2 分析抽样间隔T、截断长度N(抽样个数)对谱分析结果的影响;2-3-3 思考X(k)与X(e jω)的关系;2-3-4 讨论用X(k)近似表示X(ejω)时的栅栏效应、混叠现象、频谱泄漏。

三、主要仪器设备MATLAB编程。

四、操作方法和实验步骤(参见“二、实验内容和步骤”)五、实验数据记录和处理clc;clf;clear;%清除缓存%第一组数据的MATLAB程序(之后几组只需要将参数改变即可) T=0.000625;length=32;n=0:length-1;t=0:0.0001:31;%原序列和采样序列xn=sin(2*pi*50*n*T);xt=sin(2*pi*50*t);%画第一幅图(原序列和采样序列)figure(1);subplot(2,1,1);plot(t,xt);xlabel('t');ylabel('xt');axis([0,0.2,-1.1,1.1]);title('原序列时域');subplot(2,1,2);stem(n,xn ,'filled');xlabel('n');ylabel('xn');axis([0,length,-1.1,1.1]);title('采样后序列时域');%画第二幅图(采样序列实部、虚部、模和相角)figure(2);subplot(2,2,1);stem(n,real(xn) ,'filled');xlabel('n');ylabel('real(xn)');axis([0,length,-1.1,1.1]);title('采样序列的实部');subplot(2,2,2);stem(n,imag(xn) ,'filled');xlabel('n');ylabel('imag(xn)');axis([0,length,-1.1,1.1]);title('采样序列的虚部');subplot(2,2,3);stem(n,abs(xn) ,'filled');xlabel('n');ylabel('abs(xn)');axis([0,length,-1.1,1.1]);title('采样序列的模');subplot(2,2,4);stem(n,angle(xn) ,'filled');xlabel('n');ylabel('angle(xn)');axis([0,length,-(pi+0.5),pi+0.5]);title('采样序列的相角');%计算DFTDFT=fft(xn,length);%画第三幅图(DFT的幅度、实部和虚部)figure(3);subplot(3,1,1);stem(n,abs(DFT) ,'filled');xlabel('k');%DFT后的频域变量为kylabel('abs(DFT)');title('DFT 幅度谱');subplot(3,1,2);stem(n,real(DFT) ,'filled');xlabel('k');ylabel('real(DFT)');title('DFT的实部');subplot(3,1,3);stem(n,imag(DFT) ,'filled');xlabel('k');ylabel('imag(DFT)');title('DFT的虚部');六、实验结果与分析实验结果:第一组数据:实验名称:DFT/FFT的应用之一 确定性信号谱分析姓名:张清学号:3110103952 P.4第二组数据:第三组数据:第四组数据:第五组数据:第六组数据:6-1 实验前预习有关概念,并根据上列参数来推测相应频谱的形状、谱峰所在频率(U)和谱峰的数值(V)、混叠现象和频谱泄漏的有无。

DSPFFT实验报告.pptx

DSPFFT实验报告.pptx
main() {
int i; InitForFFT(); MakeWave() ; for(i=0;i<SAMPLENUMBER;i++ ) {
fWaveR[i]=INPUT[i];
7
fWaveI[i]=0.0f; w[i]=0.0f; } FFT(fWaveR,fWaveI); for(i=0;i<SAMPLENUMBER;i++) { DATA[i]=w[i]; } while(1); } void FFT(float dataR[SAMPLENUMBER],float dataI[SAMPLENUMBER]) { int x0,x1,x2,x3,x4,x5,x6,xx; int i,j,k,b,p,L; float TR,TI,temp; for( i=0;i<SAMPLENUMBER;i++ ) { x0=x1=x2=x3=x4=x5=x6=0; x0=i&0x01; x1=(i/2)&0x01 ; x2=(i/4)&0x01 ; x3=(i/8)&0x01;
DSP 技术课程设计
(FFT)
作者姓名:钟 欣 专业名称:电子科学与技术 指导教师:张 双
1
目录
一、实验结果............................................................................................3 1.1 正弦信号输入的结果 ...............................................................3 1.2 余弦信号输入的结果 ...............................................................4

快速傅立叶变换(FFT)的实现(DSP实验报告)

快速傅立叶变换(FFT)的实现(DSP实验报告)

快速傅立叶变换(FFT )的实现一、实验目的在数字信号处理系统中,FFT 作为一个非常重要的工具经常使用,甚至成为DSP 运算能力的一个考核因素。

FFT 是一种高效实现离散付氏变换的算法。

离散付氏变换的目的是把信号由时域变换到频域,从而可以在频域分析处理信息,得到的结果再由付氏逆变换到时域。

本实验的目的在于学习FFT 算法,及其在TMS320C54X 上的实现,并通过编程掌握C54X 的存储器管理、辅助寄存器的使用、位倒序寻址方式等技巧,同时练习使用CCS 的探针和图形工具。

另外在BIOS 子目录下是一个使用DSP/BIOS 工具实现FFT 的程序。

通过该程序,你可以使用DSP/BIOS 提供的分析工具评估FFT 代码执行情况。

二、实验原理1)基 2 按时间抽取FFT 算法对于有限长离散数字信号{x[n]} ,0 ≤n ≤-1 N,其离散谱{x[k]} 可以由离散付氏变换(DFT)求得。

DFT 的定义为:X(k) x[n]e N k 0,1,...,N 1 n0可以方便的把它改写为如下形式:N1nkX(k) x[n]W n N k k 0,1,..., N 1n0不难看出,WN 是周期性的,且周期为N,即( n mN )(k lN ) nkm,l 0, 1, 2...W N W NWN 的周期性是DFT 的关键性质之一。

为了强调起见,常用表达式WN 取代W 以便明确其周期是N。

2) 实数FFT 运算对于离散傅立叶变换( DFT)的数字计算,FFT 是一种有效的方法。

一般假定输入序列是复数。

当实际输入是实数时,利用对称性质可以使计算DFT 非常有效。

一个优化的实数FFT 算法是一个组合以后的算法。

原始的2N 个点的实输入序列组合成一个N 点的复序列,之后对复序列进行N 点的FFT 运算,最后再由N 点的复数输出拆散成2N 点的复数序列,这2N点的复数序列与原始的2N点的实数输入序列的DFT 输出一致。

DSP数字信号处理实验报告(精品)

DSP数字信号处理实验报告(精品)

FFT 频谱分析一、 实验目的a) 进一步加深DFT 算法原理和基本性质的理解b) 熟悉FFT 算法原理和FFT 程序的应用c) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确的应用FFT二、 实验原理a) 离散傅里叶变换(DFT ):离散傅里叶变换在作为有限长序列的傅里叶变换表示法在理论上相当重要;由于存在着计算离散傅里叶变换的快速算法(FFT ),从而离散傅里叶变换在各种数字信号处理的算法中起到了核心的作用。

其对应的离散傅里叶变换对为:X (K )=DFT [x (n )]=∑x (n )W N nk 0≤k ≤N −1N−1n=0x (n )=IDFT [X (K )]=1N ∑x (n )W N nk 0≤n ≤N −1N−1n=0需要注意:有限长序列的离散傅里叶变换及周期序列的离散傅里叶级数之间的关系是:它们仅仅是n 、k 的取值不同,DFT 只取主值区间。

X(n)、X(k)是一个有限长序列的离散傅里叶变换对,已知其中一个序列,就可以唯一确定另一个序列,这是因为x(n)、X(k)都是长为N 的序列,都有N 个独立值,所以信息量相同。

b) DFT 计算量:长度为N 的DFT 的计算量是N 个复数乘法和N-1个复数加法(4N 个实数乘法和4N-2个复数加法)c) FFT 的计算量:长度为N 的FFT 的计算量是 N 2log 2N 个复数乘法和N log 2N 个复数加法。

三、 实验步骤a) 复习DFT 的定义、性质和用DFT 做谱分析的有关内容b) 复习FFT 算法原理与编程思想,熟悉DIT-FFT 运算流图c) 编制信号产生程序,产生典型信号尽心谱分析。

d) 进行以下几个信号的谱分析i.x 1(n)=R 4(n ) ii. x 2(n)={n +1 ,0≤n ≤38−n ,4≤n ≤70 ,其他niii. x 3(n)= {4−n ,0≤n ≤3n −3 ,4≤n ≤70 ,其他niv. x 4(n )=cos π4n ,0≤n ≤19v.x 5(n )=sin π8n ,0≤n ≤19 vi.x 6(n )= cos 8πt +cos 16πt +cos 20πt vii.令x 7(n )=x 4(n )+x 5(n) N=8,16 viii. 令x 8(n )=x 4(n )+jx 5(n) N=8,16针对上述信号进行逐一的谱分析,下面给出针对各个信号的FFT 点数N 及对连续信号x 6(n )的采样频率f s ,供实验时参考 :x 1(n ),x 2(n ),x 3(n ),x 4(n ),x 5(n ) N=8,16x 6(n ) f s =64Hz ,N =16,32,64四、 实验内容a)对x1(n)=R4(n)进行谱分析1.编辑代码x1=[1 1 1 1];y11 = fft(x1,8);y12 = fft(x1,16);subplot(2,2,1);stem(0:3,x1);title('函数X1的图像');subplot(2,2,2);stem(0:7,abs(y11));title('N=8的DFT');subplot(2,2,4);stem(0:15,abs(y12));title('N=16的DFT');2.谱分析图片b) 对x 2(n)={n +1 ,0≤n ≤38−n ,4≤n ≤70 ,其他n进行谱分析i. 编辑代码x2 = [1 2 3 4 4 3 2 1];y11 = fft(x2,8);y12 = fft(x2,16);subplot(2,2,1);stem(0:7,x2);title('函数X2的图像');subplot(2,2,2);stem(0:7,abs(y11));title('N=8的DFT');subplot(2,2,4);stem(0:15,abs(y12));c)对x3(n)={4−n ,0≤n≤3n−3 ,4≤n≤70 ,其他n进行谱分析i.谱分析程序x3 = [4 3 2 1 1 2 3 4];y11 = fft(x2,8);y12 = fft(x2,16);subplot(2,2,1);stem(0:7,x2);title('函数X2的图像');subplot(2,2,2);stem(0:7,abs(y11));title('N=8的DFT');subplot(2,2,4);stem(0:15,abs(y12));n ,0≤n≤19进行谱分析d)对x4(n)=cosπ4i.谱分析程序n = 0:1:19;x2 = cos(0.25*pi*n);y11 = fft(x2,32);y12 = fft(x2,64);subplot(2,2,1);stem(0:19,x2);title('函数X4的图像');subplot(2,2,2);stem(0:31,abs(y11));title('N=32的DFT');subplot(2,2,4);stem(0:63,abs(y12));title('N=64的DFT');ii.谱分析图片n ,0≤n≤19进行谱分析e)对x5(n)=sinπ8i.谱分析程序n = 0:1:19;x2 = sin(0.125*pi*n);y11 = fft(x2,32);y12 = fft(x2,64);subplot(2,2,1);stem(0:19,x2);title('函数X5的图像');subplot(2,2,2);stem(0:31,abs(y11));title('N=32的DFT');subplot(2,2,4);stem(0:63,abs(y12));title('N=64的DFT');ii.谱分析图片f)对x6(n)=cos8πt+cos16πt+cos20πt进行谱分析i.谱分析程序n = 0:1:15;x1 = cos(8*pi*n/64)+cos(16*pi*n/64)+cos(20*pi*n/64);n = 0:1:31;x2 = cos(8*pi*n/64)+cos(16*pi*n/64)+cos(20*pi*n/64); n = 0:1:63;x3 = cos(8*pi*n/64)+cos(16*pi*n/64)+cos(20*pi*n/64);y1 = fft(x1,16);y2 = fft(x2,32);y3 = fft(x3,64);subplot(3,2,1);stem(0:15,x1);title('函数X6 N=16 的图像');subplot(3,2,2);stem(0:15,abs(y1));title('N=16的DFT');subplot(3,2,3);stem(0:31,x2);title('函数X6 N=32 的图像');subplot(3,2,4);stem(0:31,abs(y2));title('N=32的DFT');subplot(3,2,5);stem(0:63,x3);title('函数X6 N=64 的图像');subplot(3,2,6);stem(0:63,abs(y3));title('N=64的DFT');ii.谱分析图片g)对x7(n)=x4(n)+x5(n)进行谱分析i.谱分析程序n = 0:1:19;x2 = j*sin(0.125*pi*n) + cos(0.25*pi*n);y11 = fft(x2,8);y12 = fft(x2,16);subplot(2,2,1);stem(0:19,x2);title('函数X=X4 + X5 的图像');subplot(2,2,2);stem(0:7,abs(y11));title('N=8的DFT');subplot(2,2,4);stem(0:15,abs(y12));title('N=16的DFT');ii.谱分析图片h)对x8(n)=x4(n)+jx5(n)进行谱分析i.谱分析程序n = 0:1:19;x2 = j*sin(0.125*pi*n) + cos(0.25*pi*n);y11 = fft(x2,8);y12 = fft(x2,16);subplot(2,2,1);stem(0:19,x2);title('函数X=X4 + X5 的图像');subplot(2,2,2);stem(0:7,abs(y11));title('N=8的DFT');subplot(2,2,4);stem(0:15,abs(y12));title('N=16的DFT');ii.谱分析图片五、实验分析六、实验结论通过这次利用FFT对信号进行频谱分析的实验,更加深刻的理解了DFT算法的理解和性质的理解;同时也更为熟悉了FFT算法的原理和应用;学会使用FFT 对离散信号和连续信号进行频谱分析,了解了可能出现的分析误差和原因。

DSP实验手册 实验九 快速傅立叶变换(FFT)

DSP实验手册 实验九 快速傅立叶变换(FFT)

实验九快速傅立叶变换(FFT)一. 实验目的:1.熟悉CCS集成开发环境2.熟悉SEED-DTK5416实验环境3.加深对DFT算法原理和基本性质的理解4.熟悉FFT的算法原理和FFT子程序的算法流程和应用5.学习用FFT对连续信号和时域信号进行频谱分析的方法6.了解DSP处理FFT算法的特殊寻址方式二. 实验内容:1. DSP初始化;2. A/D采样;3. FFT的位倒序程序;4. FFT的蝶形运算程序;5.求功率谱的程序;6.串口发送与接收。

三. 实验背景知识:1. DFT算法的原理2. FFT快速算法的基本原理3. FFT位倒序的实现四. 实验程序功能与结构说明:在数字滤波器实验中,主要包含以下文件:1. Dtk-fft.c:这是实验的主程序,包含了系统的初始化,主要是异步串口的初始化、MCBSP的初始化、以及系统时钟的设置;完成与SEED-MMI5402系统的异步通讯、信号的采集与FFT的运算及功率谱的计算程序。

2. dec5416.c:对SEED-DEC5416各项资源的操作的函数集,主要包含了对UART 的操作的各个函数,对CODEC的各个控制函数。

以及对系统各项的初始化函数。

3. rfft1024.asm:1024点的FFT函数。

4. rftt512.asm:512点的FFT函数。

5. rfft256.asm:256点的FFT函数。

6. cbrev.asm:位倒序函数。

7. sqrt.asm:开方函数。

8. iircas5.asm:IIR滤波器函数。

9. fltoq15.asm:浮点数到Q15定点数的转换;10.b oot.asm:C环境的引导程序。

11.m emory.asm:包含了对FLASH的各项操作、程序空间MEMORY。

12.s ysreg.asm:包含了对DSP的各项控制,像中断的设置、系统时钟设置,及13.对各寄存器的操作。

14.u art.asm:对异步串口的寄存器的读与写。

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变换在单位圆上的等距采样,或者说是序列傅立叶变换的等距采样。

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

数字信号处理实验
实验1 快速傅里叶变换FFT 算法实验
一、实验目的:
1、加深对离散信号的DFT 的理解和FFT 算法的运用。

2、学会用mtalab 求解信号的频谱图。

3、学会用DSP 硬件进行频谱分析。

二、实验设备
计算机,ccs3.3软件,DSP CPU 挂箱,DSP 仿真器,导线
三、实验原理
N 点序列的DFT 和IDFT 变换定义式如下:
10[][]N kn N n X k x n W
-==∑, 10
1[][]N kn N k x n X k W N --==∑ 利用旋转因子2j nk kn
N N W e π-=具有周期性,可以得到快速算法(FFT )。

在MATLAB 中,可以用函数X=fft (x ,N )和x=ifft (X ,N )计算N 点序列的DFT 正、反变换。

四、实验内容:
1、利用MATLAB 编程完成计算,绘出下式时域图形,并用FFT 求取其傅里叶变换画出相应的频谱图,并分析、说明实验结果。

x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);
采样频率fs=100Hz ,采样点数为128点。

2、运行ccs 软件,对给定的语音信号进行采集,并应用DSP 挂箱分析该信号的频谱。

相应的实验步骤
(1)安装仿真器TDS510驱动(位置在f 盘根目录下).
(2)仿真器参数设置
打开setup ccstudio 从Familly 中查找C55xx 系列,然后选择C5509 TDS510并将其拖到到左侧窗口。

右键C5509打开属性装载仿真器的配置参数CCstudio_v3.3//cc//bin/TDS510.cgf.
(3)打开ccs3.3链接仿真器与电脑点击Debug —connect ;打开已建立的项目
点击project—open—fft.pjt;装载编译好的程序fft.out,file
--load program—fft.out。

在k++处设置断点,观察采集到的语音信号。

然后采集语音信号,运行程序。

观察语音信号的时域波形和频域波形。

点击view—graph—time/Frequency打开一个观察窗口,;设置该观察窗口变量参数,采用双踪观察在启动地址分别为px和pz,长度为128,数值类型为16为整型。

这两段存储单元中分别存放的是进过A/D转换后的输入信号进行FFT变换的结果。

MATLAB参考实例:
%求正弦信号的频谱
clear all
close all
clc
%%
fs=100;%设定采样频率
N=128;
n=0:N-1;
t=n/fs;
f0=10;%设定正弦信号的频谱
%%
生成正弦信号
x=sin(2*pi*f0*t);
%%
进行fft变换进行频谱分析
y=fft(x,N);
mag=abs(y);
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
%%
figure(1);
subplot(121);
plot(t,x);
xlabel('t');
ylabel('y'); title('正弦信号时域波形');
grid;
subplot(122); plot(f,mag);
axis([0,100,0,80]);
xlabel('频率(Hz)'); ylabel('幅值');
title('正弦信号频谱图');
grid;。

相关文档
最新文档