医学数字信号处理实验指导书文档格式.docx
- 文档编号:16513233
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:26
- 大小:782.83KB
医学数字信号处理实验指导书文档格式.docx
《医学数字信号处理实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《医学数字信号处理实验指导书文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
单击“Run”运行程序,程序运行到第一个断点处停止。
用View/Graph/Time/Frequency打开图形观察窗口;
设置观察窗口变量及参数;
采用双
踪观察两路输入变量Input及Impulse的波形,波形长度为128,数组类型为32位浮点型;
再打开一个图形窗口,以观察卷积结果波形;
该观察窗口的参数设置为:
变量为Output,
长度为256,数据类型为32位浮点数;
SGraphPropertyDialog
DisplayType
SingleTime
▲
GraphTitl«
GraphicalDisplay
artAddress
Output
Page
Data
AcquisitionBufferSize
256
Inden:
lucrument
1
1DisplayDataSize
DSFDataType
32Hbitfloatingpoint
SamplingR包t皀Qiz)
PlotDataFrom
LefttoRight
Left51dft«
dD宜t?
LDisplay
Tes
Autoscale
On
DCValue
AxesDisplay
t;
..*n二—i1r_;
1—
Ivrtgor&
KM/CPILJICJ5«
-IX-CodeComposwvStudio-[Cniptik^rw^pliiy:
]
|QKCancel|Help
ILlI.
jJAILlI±
!
J\BpIMXM&
Esag.ys/
单击“Run”,程序运行至第二个断点处停止,调整图形观察窗口,该部分实验用实验箱的信号源产生的信号作为卷积的两个输入信号,观察卷积结果;
单击“Animate”运行程序,或按F10运行程序;
调整观察窗口,并观察卷积结果;
改变输入信号的波形、频率、幅值,观察卷积卷结果。
四、实验报告要求
1•主要实验步骤。
2•描绘出输入、输出数组的曲线。
3•简述卷积理论。
五、Convolve子程序
时域表达式:
N
程序参数说明:
y(n)=同h(m)x(^m),^oj......丄-1
冋亠
VoidConvolveok(Input,lmpulse,OutpulLength)ExternvoidREADAD7822(void)
两序列卷积子程序:
128;
256;
(结束)
Input:
原始输入数据序列,浮点型,长度Impulse:
冲击响应序列,浮点型,长度Output:
卷积输出结果序列,浮点型,长度Length:
参与卷积运算的两输入序列长度;
子程序流程图:
厂
externvoidInitC5402(void);
externvoidREADAD7822(void);
#inelude"
stdlib.h"
#inelude"
stdio.h"
#inelude"
typedef.h"
#include"
Convolve.h"
math.h"
#defineLength128
#defineLength32*Length
voidmain()
{
inti,k=0;
doubleInput[Length];
doubleImpulse[Length];
doubleOutput[Length3];
intxm;
int*px=(int*)0x3000;
InitC5402();
//产生随机输入数据以及冲击响应
Input[O]=200;
lmpulse[0]=100;
for(i=1;
i<
Length;
i++)
if(i<
Length/2)
Input[i]=200;
}
else
Input[i]=0;
if(i<
Length/2)
Impulse[i]=100;
{Impulse[i]=0;
Convolveok(Input,Impulse,Output,Length);
k++;
for(;
;
)
READAD7822();
px=(int*)0x3000;
for(i=0;
i<
Length;
i++)
xm=*px;
Input[i]=xm;
Impulse"
]=xm;
px++;
k++;
}}
[未******************************************************************
**EndofFile-ExpConv.c
*****************************************************************
//原始输入数据
//冲击响应
//卷积输出结果
//卷积序列长度
voidConvolveok(double*lnput,double*lmpulse,double*Output,Word16length
inti,k,p;
doubler;
p=0;
for(k=0;
k<
=length-1;
k++){
Output[k]=O;
r=0;
=p;
r=Input[k-i]*lmpulse[i];
Output[k]=Output[k]+r;
p=p+1;
if(p>
length-1)p=length-1;
elsep=p;
p=length-2;
for(k=length;
=length+length-1;
k++)
r=0;
r=Input[length-1-i]*lmpulse[length-1-p+i];
p=p-1;
return;
实验二FFT分析实验
1加深对DFT算法原理和基本性质的理解;
2.熟悉FFT算法原理和FFT子程序的应用;
3•学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及
其原因,以便在实际中正确应用FFT。
计算机、CCS2.0版软件、实验箱、DSP仿真器
三、基本原理
1.DFT的定义:
将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换
成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。
2.FFT是DFT的一种快速算法,将DFT的『步减少为(N/2)log步,极大地提高了运算的速度。
四、实验步骤
2)设置模数转换单元的拨动开关,1、5、6置“ON”,其它置“OFF”;
打开PC机界面下的CCS2.软件,Project/Open打开C:
\ti\mypjts\DSP54X-2目录下的“ExpFFT.pjt”工程文件;
双击“ExpFFT.pjt”及“Source”可查看各源程序;
并编译加载;
在主程序”k++”处设置断点;
单击“Run”运行程序,程序将运行到断点处停止;
用View/Graph/Time/Frequency打开一个图形观祭窗口;
设置该观祭图形及参数;
米用
双踪观察启始地址分别为0X3000H和0x3080h,长度为128单元中数模变化,数值类型为
16位有符号整型变量,这两段存储单元中分别存放的是经过AD782转换的混叠信号(信号源
单元产生)和对该信号进行FFT变换的结果;
lEipFFT^pjt
璽f*k
S口GELflies
5口Project!
B碁ExpFFT.pjl
画空iso工md
_JDSP/BtOSCOT_jGeneratedFiles田_jmcbde田_jUtrMes白_jSource
BuildComplete
0Em?
r»
□Wflming*,0Rvmorksr
+|[|f\BuildAMessages/
1L
l
-15D1
H[dOai.asm
单击“Animate”运行程序,或按F10运行;
调整观察窗口并观察输入信号波形及其FFT
变换结果;
调节信号源单元中两路信号的波形选择调节、频率调节、幅值调节,观察混叠信
号以及其FFT变换结果如何变化;
单击“Halt”暂停程序运行,关闭窗口,本实验结束。
五、思考题
1.对于不同的N,幅频特性会相同吗?
为什么?
六、实验报告要求
1.简述FFT理论。
2.主要实验步骤。
3•描绘出输入、输出数组的曲线。
4•回答思考题。
程序参数说明
Externvoidinitial(void);
ExternvoidREADAD7822(void);
Voidkfft(pr,pi,n,k,fr,fi,l,il);
基2快速傅立叶变换子程序,n为变换点数,应满足2的整数次幕,k为幕次(正整数);
数组x:
输入信号数组,A/D转换数据存放于地址为3000H~307FH存储器中,转为浮
点型后,生成x数组,长度128;
数组mo:
FFT变换数组,长度28,浮点型,整型后,写入3080h~30FFH存储器中。
实验三有限冲击响应滤波器(FIR)算法实验
1掌握用窗函数法设计FIR数字滤波器的原理和方法;
2.熟悉线性相位FIR数字滤波器特性;
3•了解各种窗函数对滤波特性的影响。
三、实验原理
1有限冲击响应数字滤波器的基础理论;
2•模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);
3.数字滤波器系数的确定方法。
A.实验前准备
3)用示波器分别观测信号源单元的S1和S2输出的模拟信号,分别调节信号波形选择、
信号频率、信号输出幅值等旋钮,直到满意为止;
建议:
采用两路正弦波信号的混叠信号作为输入信号;
S1输出:
低频正弦波信号:
峰峰值11V,频率<4KHz;
S2输出:
高频正弦波信号:
峰峰值5V,频率>40KHz;
4)设置模数转换单元的拨动开关,1、5、6置“ON”,其它置“OFF”,即采样频率选
择181KHz,两路信号混叠输入,可在“A/DIN”点用示波器观察混叠信号。
B.实验
\ti\mypjts\DSP54X-3目录下的“ExpFIR.pjt”
工程文件;
双击“ExpFIR.pjt”及“Source”可查看各源程序;
在主程序中,
K++处,设置断点;
单击“Run”运行程序,程序将运行至断点处停止。
用View/Graph/Time/Frequency打开一个图形观察窗口;
设置观察图形窗口变量及参数
为:
采用双踪观察在启动地址分别为0X3000H和0X3100H,长度为256的单元中数值的变
化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输
入混叠信号(输入信号)和对该信号进行FIR滤波的结果。
2£
|
E:
ulLdCaoiplQtm.
0Errors-0VaFniaga,0Rmarks・
澜莎制总淮①|E)±
pE4Ci2
邑]曲刍读验渤盹
4詔0”」E3、&
3、出15.1L
aTTHTTBuild/
单击“Animate”运行程序,或按F10运行程序;
调整观察窗口并观察滤波结果,单击
“Halt”暂停程序运行,激活“ExpFIR.c”的编辑窗口;
实验程序说明:
该程序为51阶FIR低通滤波器算法程序,采用矩形窗
_Ial>
f|
-IjIxI
中1|C零e哙l「
”]摇牯悅H3摩
+'
上I*:
屮铉冬川入洱番»
'
IexpFIK-pjt
*HOeliUjE
二]k
Si-i出曲T右*■*
导曲ac
3□ai-1ii
Fjfe-辭jectPcoief£
Bl^ktilootDQ^IOS昨
nfiin【)
单.mPICS-4W-Coggi耳押即Khde艮拓]
14
ii-
fP
ll
J*■
Bi_jjProjectsE血L^pf
HotKiiirynj-
iiEiit.・m乐■
iiur«
py■(iiian31口(3:
double£
aPFst€i>
pl.r-P.rra^IDt1aJaPkL
k-tti
®
adSOcmd
_|DSF■岸g3_lGa-iefJtadFte+.匚jJndLKki+!
匚iLtrar也bClScarce
ljogr日22皿i-ii=mdu
rJZEF
Fx-]白1门盯口-
-~~^£
6;
for(i-0:
-m;
i*4]i
FiE手吁npfl5B)5
BuildCilAi|j1Ata,
□Er-r&
ror□Wamiti^s^DRaH^vkSi.
上1
ILllj)
||j|Build/
GRJHUS—ForpraeFl
5瞬1■曲第1RCwr
:
澜1开姑j■*3]匚」彌河2|RThP■各1吐朋.1尊.鈕goEmf/CFU…也15裁H
J』韶U7S1島丘k岀J5:
]5
EEATAD7922flI
函数实现,数组和xmid长度均为51,fs为采样频率,fstop为滤波器截止频率,可以修
改以上参数来变滤波器性能。
重新“RebuildAll”后,重新加载,单击“
Animate”,可得到不同的实验结果。
1•如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线
性相位低通滤波器?
写出设计步骤。
2•定性说明本实验中,3dB截止频率的理论值在什么位置?
是否等于理想低通的截止频率?
1.简述FIR理论。
七、FIR程序参数说明
系统函数
M
H(z)bkZ
k=0
对应常系数线性差分方程:
Y(n)=<:
bkx(n-k)
kz0
ExternvoidInitC5402(void)
ExternvoidREADAD7822(void)
voidfirdes(intm,doublenpass);
输入信号:
输入信号经A/D转换后,写入地址为3000H~30FFH存储器,16位整型;
输出信号:
FIR低通滤波器输出,写入地址为3100H~3仆FH存储,16位整型。
八、程序流程图
externvoidREADAD7822(void);
[未***************************************
**MainFunctionProgram
**************************************
#definepi3.1415927
doublenpass,h[51],x,y,xmid[51];
intm=50;
intn=256;
voidfirdes(intm,doublenpass);
main()
intxm,ym;
int*py=(int*)0x3100;
doublefs,fstop,r,rm;
inti,j,p,k;
k=0;
fs=181000;
fstop=10000;
npass=fstop/fs;
=m;
xmid[i]=0;
InitC5402();
/*initializeC5402DSP*/firdes(m,npass);
for(;
=n-1;
px=(int*)(0x3000+i);
xm=*px;
x=xm;
for(p=0;
p<
p++)
xmid[m-p]=xmid[m-p-1];
xmid[0]=x;
r=0;
rm=0;
for(j=0;
j<
j++)
r=xmid[j]*h[j];
rm=rm+r;
y=rm;
py=(int*)(0x3100+i);
ym=(int)y;
*py=ym;
voidfirdes(intm,doublenpass)
intt;
for(t=0;
t<
t++)
h[t]=sin((t-m/2.0)*npass*pi)/(pi*(t-m/2.0));
if(t=m/2)h[t]=npass;
实验四无限冲击响应滤波器(IIR)算法实验
1熟悉设计IIR数字滤波器的原理与方法;
2•掌握数字滤波器的计算机仿真方法;
3•通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。
计算机、CCS2.0版软件、实验箱、DSP仿真器
1无限冲击响数字滤波器的基础理论;
3•双线性变换的设计原理。
A•实验前准备
采用两路正弦波信号的混叠信号为输入信号;
S1输出低频正弦波信号:
峰峰值11V,频率V4KHZ;
S2输出高频正弦波信号:
择181KHZ,两路信号混叠输入,可在引出点“A/DIN”处(模数转换单元)用示波
器观察混叠信号。
\ti\mypjts\DSP54X-4目录下的“ExpllR.pjt”工程文件;
双击“ExpllR.pjt”,双击“Source”可查看各源程序;
并加载
IIR.out”;
在主程序中,K++处,设置断点;
单击“Run”运行程序,程序将运行至断点处停止。
采用双踪示波器在启动地址分
别为0X3000H和0X3100H,长度为256的单元中数值的变化,数值类型为16位有符号整
型变量,这两段存储单元中分别存放的是经A/D转换后的混叠信号和对该信号进行低通IIR
滤波后的输出信号;
参数设置:
S3GraphPropertyDialog
DisplayType
DualTime
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医学 数字信号 处理 实验 指导书