如何运用MATLAB采用数字信号处理的优势?

学好数字信号处理的三大诀窍之一——运用matlab
采用数字信号处理的优势
前面比较了数字信号相对于模拟信号的优点,如噪声不积累;差错可以控制;易于加密,安全性好;便于实现信息融合;便于采用大规模集成电路实现,等等。此外,采用数字信号处理还有一些重要的优势,即精度高、灵活性强、性能好和应用广等。
①数字信号系统相对模拟信号系统更容易实现高精度,并且并且较为稳定,因为数字系统不容易受外界温湿度等的影响,而模拟系统的工作状态常常受到外界环境的影响,发生参数的改变。
②数字信号系统处理更加灵活。模拟系统的硬件结构一旦形成,不容易添加、删除或者更改元器件,而数字系统很容易通过修改参数实现所需要的功能。当信号处理既可以用硬件实现、也可以用软件实现时,它们各有其优缺点:硬件实现速度快,但是不灵活;软件速度较慢,但是灵活性好。比如,手机的语音编解码将复杂的算法用集成电路实现,处理速度很快,因而能实现实时通信。
③性能好。数字系统可以实现严格的线性相位,这在某些对相位要求较高的场合如图像传输非常有利,因为相位的非线性会导致图像的畸变;数字系统可以方便地存储数据,因而可以实现非因果系统;数字系统可以利用信息论理论和语音、图像压缩理论,对数据进行压缩,大大降低数据传输率,压缩的依据有两个:一是熵压缩,利用空间和时间冗余度,二是利用人耳或人眼的感知特性。数字系统可以实现很精细的谱分析,而模拟系统则要粗糙得多,比如数字系统的谱分析精度可以达到千分之一赫兹,而模拟系统只能达到10赫兹。
④数字系统利用强大的储存和运算能力实现多维信号处理,如多维滤波、多维谱分析等,因而应用更加广泛。
教材中介绍了大量数字信号处理的应用,这里再介绍两个新颖的例子。将人体切片进行数字化,可以对人体进行三维重建,在医学教育和临床上都得到应用。对文物进行数字化,可以实现三维数字博物馆,更加方便游客欣赏,也方便文物的复制。
学好数字信号处理的三大诀窍之一——运用matlab
江志红在《深入浅出数字信号处理》中提出,理解数字信号处理有三把“万能”的钥匙,即①时域与频域的相互切换;②向量;③matlab软件。对这种提法,本人深以为然。下面首先谈matlab在数字信号处理中的应用。
很多学生一旦接触数字信号处理这门课,就被繁琐的公式推导吓倒了。高等数学固然公式很多,而数字信号处理公式之多,比高等数学有过之而无及,况且这些公式大都有一定的物理意义,要把公式及其物理意义紧密结合起来,因此就更加困难了。探索这门课程的更加友好的教学方法和更加有效的学习方法,显得迫在眉睫。将理论和实践加以结合,利用matlab实现各种理论和算法,运用于解决实际问题,是学好数字信号处理的一个诀窍。
matlab是一个面向科学计算与工程数值分析的软件,具有强大的仿真、计算和可视化能力。由于它是一种高级语言,因而编程非常简单,易学易用。将数字信号处理的学习和matlab工具紧密结合起来,学习才不会枯燥,因为繁琐的公式或算法都可以得到实在的结果,这些结果甚至是可以听到(语音、音频)或者看到(图像、频率谱、相位谱)的,那么必然加深对基本理论的理解。数字信号处理是一门工科性质非常强的课程,仅仅学一堆理论和公式而不能实现它,和学纯数学有什么区别呢?况且数学课程也在改革中,也在运用mathematica和matlab等工具进行计算、直观化,解决实际问题。
大多数字信号处理课程教学是把理论学习和matlab分开的,以理论课的学习为主,中间穿插一些实验或者课程设计环节。而我们会尝试将matlab贯穿于整个数字信号处理课程的学习,采取理论密切联系实际的方法。一个不那么直观的理论或公式,我们都试图将其直观起来,用matlab运行得到实际结果来说明问题。理论和实验是不分主次的,理论学得好的可以多花点时间做实验,而实验做得好的也可以多花点时间学习理论。
下面以圆周率的仿真计算为例,说明matlab的强大威力。下面是用面积法计算圆周率的仿真程序,整个程序只有一行:
n = 10000000; pi = 4*length(find(sum(rand(2, n).^2)《 1))/n
把上述命令输入matlab的命令窗口运行,即得到圆周率的近似值3.1417(重复试验可以得到不同的结果,但都是围绕3.1416而变动的,偶然性中包含着必然性)。上述各个命令的含义可以在以后的学习中逐步熟悉。
总之,学习数字信号处理这门课,一定要密切结合matlab,做到理论联系实际,理性认识和感性认识相结合。下面举一个有趣的例子来结束本节。
例1 有高矮各不相同的100名同学,随机地排成一个10×10的方阵。每行取最高的一个同学,一共10个高个子,记为集合t;每列取最矮的一个同学,一共10个矮个子,记为集合s。问题:(1) t中最矮的同学(记为t[s])和s中最高的同学(记为s[t])相比谁更高?(2) 如果t[s]和s[t]一样高(即为同一个人),求其概率为多少?
分四种情况讨论:t[s]和s[t]既不在同一行,也不在同一列;t[s]和s[t]在同一行;t[s]和s[t]在同一列;t[s]和s[t]为同一个人。容易知道,前三种情形,都是高个子中最矮的比矮个子中最高的要高,那么在100个人随机排列的情况下,t[s]和s[t]为同一个人的概率多大呢?只要做一下试验,只要试验的次数足够高,就可以得到充分准确的概率。如下代码进行10,000,000次试验,统计t[s]和s[t]为同一个人的频率。
clc,clear all;
tic
jj =0;
for ii= 1:10000000
a = randperm(100);
b = reshape(a, 10, 10);
c1 = max(b‘);
d1 = min(c1);
c2 = min(b);
d2 = max(c2);
if (d1-d2) 《= eps
jj = jj + 1;
end
end
rate =jj/10000000
time =toc
在intel celeron cpu g1820(2.70ghz)上运行结果为:
rate =
1.0990e-004
time =
169.1524
即t[s]和s[t]为同一个人的概率约为万分之一点一,在任一次试验中,几乎可以肯定地说,高个子中的矮个子比矮个子中的高个子高。同时,10,000,000次重复试验所花的机器时间约为169秒,即不到3分钟。
原文标题:学习数字信号处理的诀窍:运用matlab
文章出处:【微信公众号:数字信号处理辅导】欢迎添加关注!文章转载请注明出处。


经纬恒润助力新一代领克03首发亮相
双轨雷达波自动测流系统设计与运用
网络安全市场它真正需要的是什么
骁龙765G处理器详解,与骁龙865相同架构功耗降低35%
CRUD如何简化开发
如何运用MATLAB采用数字信号处理的优势?
将AI用于公共安全和安保
探究有为信息王牌单品一体化智能视频监控终端K5-P
对耳朵伤害最小的耳机款式、头戴式,入耳式我更推荐骨传导耳机
2020用什么方法来颠覆存储技术
加密协议可能被破解,全球WIFI安全将遭到威胁
2nm芯片是哪个国家研制的 2nm芯片什么时候量产
近红外光触发柔性电子器件自适应三维形变
三极管的电流增益在正向与反向变化
自复式过欠压保护器的毁坏因素一般有哪些
谷歌Gemini被曝夸大营销?碾压GPT4纯靠“一张嘴”
【冶金能源节能减排,电媒能耗监测系统】
了解电路设计常见的八个误区
德赛西威荣获小鹏汽车“优秀供应商奖”
轮毂电机机械结构设计及散热分析