




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二 fft的dsp实验一、实验目的1. 掌握fft的算法基本原理和c语言的编程方法;2. 掌握采样速率、fft点数与频谱分析之间的关系;3. 掌握dsp中fft的设计和编程思想;二、实验内容1. 参阅fft基本理论及c语言编程方法,研读、分析实验指导书中的代码;2. 双击,启动ccs的配置程序选项,选择“c5502 simulator”;3. 启动ccs,打开实验工程文件,再编译并装载程序;4. fft实验例程中:fft点数为256点,时域信号为60hz和180hz的两个波形相加,增益为100,时域信号采样率为800hz。5. 完成所给例程对应实验,需要验收如下结果(a、b、c),a、时域信号波形为:b、对应谱:c、fft输出结果6. 修改代码为 时域信号为60hz和160hz两个信号相乘,分析其频谱,并说明原理;7. 在实验代码基础上修改代码为1024点fft,进行程序的编译、运行和对应结果的查看;8. 在此前实验结果基础上分析采样率、fft点数与频谱分辨率之间的关系;解释对应程序代码和图形结果的相应含义; 三、实验具体内容及其分析1. 启动ccs的配置程序选项,选择“c5502 simulator”;图2-1 ccs的配置选项2. 启动ccs,打开实验工程文件,再编译并装载程序;3. fft实验一:fft点数为256点,时域信号为60hz和180hz的两个波形相加,增益为100,时域信号采样率为800hz。图2-2 编译并装载程序此试验中,要观察输入信号的波形、其对应频谱以及对输入信号做fft变换后输出的频谱,因此要获得输入信号的入口地址以及fft变换输出的入口地址,这些地址可以在观察窗中获得,如图2-3所示。图2-3 图形观察入口地址观察窗图 2-4 输入波形属性设置窗口图2-5 60hz与180hz相加信号波形图 2-6 输入波形对应频谱属性设置窗口对输入信号做256点ffr变换,因为256=28,所以在输入信号对应频谱中fft阶数设置为8。图2-7 60hz与180hz相加信号对应频谱图 2-8 fft输出波形属性设置窗口(256点)图2-9 60hz与180hz信号相加做fft变换输出频谱此实验实例中对输出入信号做fft变换的点数为256点,时域信号为60hz和180hz的两个波形相加,时域信号采样率为800hz,因此输入信号对应频谱出现峰值的频率点在60hz和180hz两点,如图2-7所示; n=256,fs=800 hz,可以分辨到(800/256)秒,图2-9所示的fft输出结果中,第一个峰值点频率约为19.2 hz ,第二个峰值点约为58.24 hz, 19.2*(800/256)=60 hz,58.24*(800/256)=180 hz。4. fft实验二:修改代码为时域信号为60hz和160hz两个信号相乘,分析其频谱,并说明原理图2-10 60hz与160hz信号相乘波形图2-11 60hz与160hz信号相乘对应频谱图2-12 60hz与160hz信号相乘做fft变换输出频谱此实验中输入信号波形属性框和fft输出结果属性框同实验实例一相同,分别如图2-4,2-6,2-8所示。此实验的输入时域信号为60hz和160hz两个信号相乘,由三角函数的三角变换可知输入信号包含两个频率:100hz和220hz,因此其时域信号对应频谱出现峰值点在100hz和220hz两个频率点,如图2-11所示。n=256,fs=800 hz,同样可以分辨到(800/256)秒,图2-12所示的fft输出结果中,第一个峰值点频率约为32 hz ,第二个峰值点约为70.4 hz, 32*(800/256)=100 hz,70.4*(800/256)=220 hz。5在实验代码基础上修改代码为1024点fft,进行程序的编译、运行和对应结果的查看图 2-13 输入波形属性设置窗口(1024点)图2-14 60hz与180hz信号相加波形图 2-15 输入波形对应频谱属性设置窗口(1024点)对输入信号做1024点ffr变换,因为1024=210,所以在输入信号对应频谱中fft阶数设置为10。图2-16 60hz与180hz信号相加对应频谱图 2-17 fft输出波形属性设置窗口(1024点)图2-18 60hz与180hz信号相加做fft变换输出频谱此实验中对输出入信号做fft变换的点数为1024点,时域信号为60hz和180hz的两个波形相加,时域信号采样率为800hz,因此输入信号对应频谱出现峰值的频率点在60hz和180hz两点,如图2-16所示; n=1024,fs=800 hz,可以分辨到(800/1024)秒,图2-18所示的fft输出结果中,第一个峰值点频率约为76.875 hz ,第二个峰值点约为230.4 hz, 76.875*(800/1024)=60 hz,230.4 *(800/1024)=180 hz。将此实验一实验实例一作比较,实验一中fft点数是256,采样率是800 hz,因此其频率分辨率为(800/256)秒;此试验中fft点数是1024,采样率是800 hz,因此其频率分辨率为(800/1024)秒。比较图2-9和图2-18可知图2-18的频率分辨率比实验一的频率分辨率好,同时可以得到结论:要提高频率分辨率,则必须增加采样点数,即采样时间,频率分辨率和采样时间是倒数关系。同时,提高此三个实验,可以得到,fft输出频谱中出现峰值点对应的频率可以通过输入信号的频率除以频率分辨率得到,用以检验fft输出结果是否正确。四、实验程序分析(1024点fft)#include math.h#define sample_numb 1024 /* fft点数n=1024*/#define s1_freq 60 /*信号1频率*/#define s2_freq 180 /*信号2频率*/#define samplefreq 800 /*信号采样率fs*/#define pi 3.1415926int signalinputsample_numb; /*输入信号,s=s1+s2*/float fft_resample_numb; /* fft实部*/float fft_imsample_numb; /*fft虚部*/float fft_wsample_numb; /*功率谱*/float sin_tabsample_numb;float cos_tabsample_numb;void init_fft_tab();void input_data();void fft(float datarsample_numb,float dataisample_numb); void init_fft_tab(void) /*输入波形的初始化*/ float wt1; float wt2; int i; for (i=0;isample_numb;i+) wt1=2*pi*i*s1_freq; wt1=wt1/samplefreq; wt2=2*pi*i*s2_freq; wt2=wt2/samplefreq; signalinputi=(cos(wt1)+cos(wt2)/2*100; /*输入信号*/ /signalinputi=cos(wt1)*100; void fft_wnnk(void) /*蝶形运算系数表计算*/ int i;for(i=0;isample_numb;i+) sin_tabi=sin(2*pi*i/sample_numb); cos_tabi=cos(2*pi*i/sample_numb); void fft(float datarsample_numb,float dataisample_numb) /*fft变换*/ int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,xx; /*n=1024=210,需10个点*/ int i,j,k,b,p,l; float tr,ti,temp; for(i=0;isample_numb;i+) x0=x1=x2=x3=x4=x5=x6=x7=x8=0; x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01; x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;x7=(i/128)&0x01;x8=(i/256)&0x01;x9=(i/512)&0x01; xx=x0*512+x1*256+x2*128+x3*64+x4*32+x5*16+x6*8+x7*4+x8*2+x9; dataixx=datari; for(i=0;isample_numb;i+) datari=dataii;dataii=0; for(l=1;l0) b=b*2;i-; for(j=0;j0) p=p*2;i-; p=p*j; for(k=j;k1024;k=k+2*b) tr=datark;ti=dataik;temp=datark+b; datark=datark+datark+b*cos_tabp+dataik+b*sin_tabp; dataik=dataik-datark+b*sin_tabp+dataik+b*cos_tabp; datark+b=tr-datark+b*cos_tabp-dataik+b*sin_tabp; dataik+b=ti+temp*sin_tabp-dataik+b*cos_tabp; /for(i=0;isample_numb/2;i+) fft_wi=sqrt(datari*datari+dataii*dataii);void main() /*主函数*/ int i; init_fft_tab(); fft_wnnk(); for (i=0;i vect .trcinit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同审查及审批流程标准化模板合同签订支持
- 企业运营风险管理模板
- 供应链管理监控报表模板
- 2025年病案首页填写规范考试试题及答案
- 2025广东汕头市中心医院招聘编外人员57人考前自测高频考点模拟试题及答案详解(名师系列)
- 记一次难忘的春游活动记事作文13篇范文
- 2025福建厦门一中集美分校(灌口中学)顶岗教师招聘1人模拟试卷及答案详解(网校专用)
- 医疗设备维护保养标准化操作手册
- 《DNA结构与复制的生物科学教案》
- 产品设计方案模板
- 《念奴娇·赤壁怀古》+2025-2026学年统编版高一语文必修上册
- 重庆八中高 2027 届高二(上)第一次月考语文试卷(含答案)
- 2025年石嘴山市消防救援支队招录第二批政府专职消防队员的(65人)考试参考试题及答案解析
- 基础水文数据采集与管理项目方案
- 注塑机操作安全培训课件
- 1.2.2单细胞生物(教学设计)生物苏教版2024七年级上册
- 艾媒咨询2025年中国新式茶饮大数据研究及消费行为调查数据
- 雷达式水位计安装单元工程质量验收评定表
- 招商银行笔试题库及参考答案
- 挂靠公司走帐协议书范本
- 2025年中国电信集团校园招聘笔试模拟试题集
评论
0/150
提交评论