新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 软件仿真频率细化过程的分析与实现

软件仿真频率细化过程的分析与实现

作者:时间:2010-12-22来源:网络收藏

处理需要5120个采样点,时A/D采样用对连续信号x(t)进行离散化来代替,离散化的点值就是采样值,它们组成一个数组(矩阵),这是一个点序列。

采样完成后,对采样点进行移频(将300Hz移频到原点),由以下步骤

令:F1=300W1=2π*F1

f(t)=exp(-jw1*t)

t取离散化时刻,Δt=1/fsTk=k*Δt

则f(t)离散化可变为:

f(k)=exp(-jw1*Tk)

=exp[(-j2π*f1*k)/fs]

这也是一个点序列。

MATLAB将上面两个点序列进行卷积(矩阵相乘),得到一个新的点序列,就了移频,即使F1=300Hz 在频域上移动了0,其它特性依此前移。

MATLAB语言有很方便的滤波器设计和数字滤波功能,可用它设计一个带内波动<0.1dB,带外衰减>-70dB,截止为20Hz的低通滤波器,并将上面的点序列进行数字滤波,得到一个只在0~20Hz频段上有特性曲线、其它频段被滤掉的信号的点序列。

对上面的点序列每隔10点(倍数)进行抽取,实际上就是对经移频、滤波后的信号进行重新采样。采样为S120Hz/10,即采样频率降低了10倍,抽取得到512个点。

对这512个点进行FFT变换,就可以得到300Hz~320Hz频段上已10倍的频率特性曲线了,结果如图4、图8所示。

程序分别进行2、4、8、10倍的频率细化,从运行结果可以看出,细化倍数越大,频率分辨率就越高,频域波形越看得清楚,这与理论是相符合的。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭