matlab 数字信号处理编程导论 by source codenew

matlab 数字信号处理编程导论 by source codenew

ID:21920751

大小:92.01 KB

页数:5页

时间:2018-10-25

matlab 数字信号处理编程导论 by source codenew_第1页
matlab 数字信号处理编程导论 by source codenew_第2页
matlab 数字信号处理编程导论 by source codenew_第3页
matlab 数字信号处理编程导论 by source codenew_第4页
matlab 数字信号处理编程导论 by source codenew_第5页
资源描述:

《matlab 数字信号处理编程导论 by source codenew》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Matlab数字信号处理编程导论bySourceCode最近在做信号处理和模式识别的相关技术的研究,有感于介绍这方面的入门文章太少,希望记录些有用的知识帮助需要从事相关工作的朋友少走些弯路。Matlab大家应该都不陌生,园子里面应该有相当一部分人是学电信或自动控制出身的,我们从事着不同的行业,我们每天写着不同的软件。如果你在做信号处理或者通信相关的行业,相信如果有一天你需要做些原型设计,本文可以引导你快速的开始。首先让我们来看看matlab的产品定位:TheLanguageofTechnicalComputingMA

2、TLAB® isahigh-levellanguageandinteractiveenvironmentthatenablesyoutoperformcomputationallyintensivetasksfasterthanwithtraditionalprogramminglanguagessuchasC,C++,andFortran. 过多的也没必要解释了,就是说一个字“快”,使用matlab可以使你想法更快的被实现出来,做设计的效率是其他编程语言说无法比拟的。据本人所知,数字信号处理里面的滤波器设计,频谱分

3、析,通信中的各种调制技术的设计,matlab可以说已经成了标准工具,就像windows上开发C#代码,大部分人都使用visualstudio一样。 首先让我们看看如何产生一些简单有用的序列如何编写:---注:源代码来自互联网,仅供学习参考之用单位冲击:function [x,n] = impseq(n0,n1,n2)% Generates x(n) = delta(n-n0); n1 <= n,n0 <= n2% ----------------------------------------------% [x,n

4、] = impseq(n0,n1,n2)%if ((n0 < n1) 

5、 (n0 > n2) 

6、 (n1 > n2))    error('arguments must satisfy n1 <= n0 <= n2')endn = [n1:n2];%x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];x = [(n-n0) == 0]; 单位阶越:    function[x,n]=stepseq(n0,n1,n2)%Generatesx(n)=u(n-n0);n1<=n,n0<=

7、n2%------------------------------------------%[x,n]=stepseq(n0,n1,n2)%if((n0

8、(n0>n2)

9、(n1>n2))error('argumentsmustsatisfyn1<=n0<=n2')endn=[n1:n2];%x=[zeros(1,(n0-n1)),ones(1,(n2-n0+1))];x=[(n-n0)>=0]; 再看看如何实现一些简单算法和计算:序列相加: function [y,n] = sigadd(x1,n1,x2,n

10、2)% implements y(n) = x1(n)+x2(n)% -----------------------------% [y,n] = sigadd(x1,n1,x2,n2)%   y = sum sequence over n, which includes n1 and n2%  x1 = first sequence over n1%  x2 = second sequence over n2 (n2 can be different from n1)%n = min(min(n1),min(n2)

11、):max(max(n1),max(n2)); % duration of y(n)y1 = zeros(1,length(n)); y2 = y1;              % initializationy1(find((n>=min(n1))&(n<=max(n1))==1))=x1;     % x1 with duration of yy2(find((n>=min(n2))&(n<=max(n2))==1))=x2;     % x2 with duration of yy = y1+y2;      

12、                               % sequence addition 序列相乘:  function [y,n] = sigmult(x1,n1,x2,n2)% implements y(n) = x1(n)*x2(n)% -----------------------------% [y,n] = sigmul

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。