数字信号处理基础知识(三)

       在引入线性和时不变性的离散时间系统即LSI系统后,大多数国内的“数字信号处理”相关教科书基本都会围绕LSI系统的卷积运算、系统因果稳定性等展开很多例题,不禁让人感叹本科教学仿佛是高中的一种延续,还是那套熟悉的配方:给出概念布置例题,刷题巩固咬文嚼字,这种教学方式可能单纯从字面上能够加深对概念的记忆,而显然学习这门学科的意义不仅仅在于考试分数,更重要的是在工程上理解很多底层原理和实施细节,成功在项目中实现二次开发的目标。

      我们对LSI系统的相关例题不展开讨论,而是从“周期采样”出发引出更多有实际应用价值的采样方法和课题。

      这里也是举例说明,假设已知如下离散时间序列:x(0) = 0、x(1) = 0.866、x(2) = 0.866、x(3) = 0、x(4) = -0.866、x(5) = -0.866、x(6) = 0,其中√3 /2 = 0.866,它们表示按照相同的周期间隔采样到的时域正弦波的瞬时值,这时就会出现一个有趣的现象:不同的读者根据同样的序列能够绘制出不同的正弦波曲线,如下图1所示红色小点代表上述的离散时间序列,我们使用相同的采样速率1/6s=167ms,可以据此画出1hz和7hz两种不同正弦波频率的“待采波形”,如图2所示为相应的matlab程序。

图1 matlab绘制用167ms速率采样1hz和7hz正弦波

图2 matlab绘制以167ms速率采样1hz和7hz正弦波的程序

      简单地解释下程序中matlab用到的几个关键地方:1. t1 = 0:pi/10000:2*pi表示t1的取值为0到2*pi之间且每隔pi/10000取一个点,这里主要就是为了多取一些点把1hz和7hz的正弦波通过plot函数绘制得更加平滑;2. t2 = 0:1/6:2*pi表示t2的取值范围也是0到2*pi之间且每隔1/6取一个点,即采样周期是167ms;3. plot函数支持多个图形同时绘制在一张表里,plot(t1, y1, t1, y2, t2, y3,'ro', t2, y4,'ro')即把1hz正弦波y1、7hz正弦波y2和对y1进行167ms采样的y3、对y2进行167ms采样的y4同时描绘在一张图里,'ro'代表绘制红色圆点;4. xlim([0, 1])、ylim([-2, 2])即限制x轴和y轴横纵坐标的最大值和最小值。

       通过这个例子即可以引出“频率二义性”,下面笔者也用公式推导一遍,假设一个单位正弦波的离散时间序列是,其中m是整数:

       x(n) = sin (2π*f0*n*ts) = sin (2π*f0*n*ts+2π*m)= sin (2π*(f0+m/nts)*nts);

      设m = k*n,代入其中得x(n) = sin(2π*(f0+k/ts) *nts);

      又因为fs = 1/ts,所以得x(n) = sin(2π*(f0+k*fs) *nts),这就说明当以每秒fs个采样点数进行周期采样时,如果k是任意一个整数,则频率为f0的正弦波和频率为f0+k*fs的正弦波的采样值没有任何区别,客观上反应了实际项目中存储在嵌入式芯片的数值序列,假设没有其他额外信息,就不能无二义性地表示有且仅有一个的正弦波。

       再把公式代入到上面的例子验证,若以1/6=167ms的采样频率,即每隔167ms就采样确定一个采样值,公式中的“待采波形”频率f0 = 7hz,采样周期频率fs = 6hz,k = -1,即有f0+k*fs = 7-6 = 1hz。那么现实的问题在于当采样值序列的振幅都用采样点来表示时,工程中也就无法确定实际“待采波形”究竟是1hz还是7hz的正弦波。如果工程当中按照1hz测试能量,而实际我们知道输入中没有1hz的能量,完全都是7hz的能量,那么这样计算也就会导致错误。

      上面的推导很好地说明了“频率二义性”,很多国内外相关“数字信号处理”文章都把“频率二义性”称为“假频”,上面例子中的离散时间序列:x(0) = 0、x(1) = 0.866、x(2) = 0.866、x(3) = 0、x(4) = -0.866、x(5) = -0.866、x(6) = 0的采样值到底代表哪一种频率的正弦波,显然是无数种可能,就像问两个整数相加为10,这两个数是多少,答案也是有无数种数据对,当然正是由于“周期采样”中“假频”才引出了“低通采样”和“带通采样”、数字滤波器等有趣的课题,这些放下后续的博客展开。   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值