当前位置: 首页 > news >正文

华亮建设集团股份有限公司网站灰色行业推广平台网站

华亮建设集团股份有限公司网站,灰色行业推广平台网站,自贡百度做网站多少钱,重庆市建设工程质量信息网文章目录 前言1.单位冲激序列函数1.2 函数:1.3 实现代码:1.3 调用方式1.4 调用结果 2.单位阶跃序列函数2.1 函数2.2实现代码2.3调用方式2.4调用结果 3.矩形序列3.1函数3.2 实现代码3.3调用方式3.4 调用结果 4.实指数序列4.1函数4.2实现代码4.3调用方式4.…

文章目录

  • 前言
  • 1.单位冲激序列函数
    • 1.2 函数:
    • 1.3 实现代码:
    • 1.3 调用方式
    • 1.4 调用结果
  • 2.单位阶跃序列函数
    • 2.1 函数
    • 2.2实现代码
    • 2.3调用方式
    • 2.4调用结果
  • 3.矩形序列
    • 3.1函数
    • 3.2 实现代码
    • 3.3调用方式
    • 3.4 调用结果
  • 4.实指数序列
    • 4.1函数
    • 4.2实现代码
    • 4.3调用方式
    • 4.4调用结果
  • 5.正弦型序列
    • 5.1函数
    • 5.2实现代码
    • 5.3调用方式
    • 5.4调用结果
  • 6.复指数序列
    • 6.1函数
    • 6.2实现代码
    • 6.3调用方式
    • 6.4调用结果
  • 备注
  • 7.序列的简单运算
    • 7.1序列相加
      • 7.1.1 代码实现
      • 7.1.2 调用测试
      • 7.1.3 调用结果
    • 7.2序列相乘
      • 7.2.1 代码实现
      • 7.2.2 调用测试
      • 7.2.3 调用结果
    • 7.3序列移位
      • 7.3.1 代码实现
      • 7.3.2 调用测试
      • 7.3.3 调用结果
    • 7.4 序列翻褶
      • 7.4.1 代码实现
      • 7.4.2 调用测试
      • 7.4.3 调用结果
  • 结语

前言

本篇博客介绍了基于matlab的数字信号处理中的常见离散时间信号,以及常见的序列运算,并通过编写代码实现相关运算。

1.单位冲激序列函数

1.2 函数:

在这里插入图片描述

1.3 实现代码:

function [x,n] = impseq(n0,n1,n2)% Generates x(n) = delta(n-n0); n1 <= n,n0 <= n2% ----------------------------------------------% [x,n] = impseq(n0,n1,n2)%if ((n0 < n1) || (n0 > n2) || (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;

1.3 调用方式

[x,n]=impseq(1,-2,5);
% n=[-2,-1,0,1,2,3,4,5]
% x=    1x8 logical
stem(n,x,"filled")

1.4 调用结果

在这里插入图片描述

2.单位阶跃序列函数

2.1 函数

在这里插入图片描述

2.2实现代码

function [x,n] = stepseq(n0,n1,n2)% Generates x(n) = u(n-n0); n1 <= n,n0 <= n2% ------------------------------------------% [x,n] = stepseq(n0,n1,n2)%if ((n0 < n1) || (n0 > n2) || (n1 > n2))error('arguments must satisfy n1 <= n0 <= n2')endn = n1:n2;%x = [zeros(1,(n0-n1)), ones(1,(n2-n0+1))];x = (n-n0) >= 0;

2.3调用方式

[x,n]=stepseq(2,-2,7);
% n=[-2,-1,0,1,2,3,4,5,6,7]
% x=1x10 logical
stem(n,x,"filled","r")

2.4调用结果

在这里插入图片描述

3.矩形序列

3.1函数

在这里插入图片描述

3.2 实现代码

function [x,n]=rectseq(n1,n2,N)
% 个人编写可能有误if n1>=0||n2<n1||n2<N||N<=0error("输入的格式错误");endn=n1:n2;% x=[zeros(1,0-n1),ones(1,N),zeros(1,n2-N+1)];x=bitand(n>=0,n<N);
end

3.3调用方式

[x,n]=rectseq(-2,5,4);
% n=[-2,-1,0,1,2,3,4,5]
% x=1x8 logical
stem(n,x,"filled")

3.4 调用结果

在这里插入图片描述

4.实指数序列

4.1函数

在这里插入图片描述

4.2实现代码

function [x,n]=realexpseq(n1,n2,a)
% 个人编写
if n1>n2error("n1应该小于n2");
endn=n1:n2;an=a.^n;x=an.*stepseq(0,n1,n2);
end

4.3调用方式

[x,n]=realexpseq(-4,5,2);
% n=[-4,-3,-2,-1,0,1,2,3,4,5]
% x=[0,0,0,0,1,2,4,8,16,32]
stem(n,x,"r")

4.4调用结果

在这里插入图片描述

5.正弦型序列

5.1函数

在这里插入图片描述

5.2实现代码

function [x,n]=sinseq(n1,n2,w,w0)
%该函数表示sin(w*n+w0)
if n1>n2error("n1应该小于n2");
end
n=n1:n2;
x=sin(w*n+w0);
end

5.3调用方式

[x,n]=sinseq(-pi*2,2*pi,1,0);
% n=1x13 double
% x=1x13 double
stem(n,x,'filled')

5.4调用结果

在这里插入图片描述

6.复指数序列

6.1函数

在这里插入图片描述

6.2实现代码

function [x,n]=comexpseq(n1,n2,a,w0)
n=n1:n2;
x=exp((a+1i*w0).*n);
end

6.3调用方式

[x,n]=comexpseq(-2,5,2,1);
subplot(2,1,1);
stem(n,real(x),"filled")
xlabel("n");
ylabel("实部")
subplot(2,1,2);
stem(n,imag(x),"filled")
xlabel("n")
ylabel("虚部")

6.4调用结果

在这里插入图片描述

备注

以上函数部分是自己写的,部分是以封装好的,可能有些的不足的地方,欢迎批评指正

7.序列的简单运算

7.1序列相加

将两个序列对应位置直接相加即可

7.1.1 代码实现

function [y,n]=seqadd(x1,x2,n1,n2)n=min([n1,n2]):max([n1,n2]);% 将相加的序列扩展至相同长度y1=zeros(1,length(n));y2=y1;y1((n>=min(n1))&(n<=max(n1))==1)=x1;y2((n>=min(n2))&(n<=max(n2))==1)=x2;y=y1+y2;
end

7.1.2 调用测试

x1=[2 3 1 4];
n1=-1:2;
x2=[1 2 4];
n2=1:3;
subplot(3,1,1);
stem(n1,x1,"filled",'b')
xlim([min([n1,n2]) max([n1,n2])])
subplot(3,1,2)
stem(n2,x2,'filled',"g");
xlim([min([n1,n2]) max([n1,n2])])
[y,n]=seqadd(x1,x2,n1,n2);
subplot(3,1,3)
stem(n,y,"filled","r");
xlim([min([n1,n2]) max([n1,n2])])

7.1.3 调用结果

在这里插入图片描述

7.2序列相乘

将两个序列对应位置直接相乘即可

7.2.1 代码实现

function [y,n]=seqmul(x1,x2,n1,n2)
n=min([n1,n2]):max([n1,n2]);
y1=zeros(1,length(n));
y2=y1;
y1((n>=min(n1)&n<=max(n1))==1)=x1;
y2((n>=min(n2)&n<=max(n2))==1)=x2;
y=y1.*y2;
end

7.2.2 调用测试

x1=[2 3 1 4];
n1=-1:2;
x2=[1 2 4];
n2=1:3;
subplot(3,1,1);
stem(n1,x1,"filled",'b')
xlim([min([n1,n2]) max([n1,n2])])
subplot(3,1,2)
stem(n2,x2,'filled',"g");
xlim([min([n1,n2]) max([n1,n2])])
[y,n]=seqmul(x1,x2,n1,n2);
subplot(3,1,3)
stem(n,y,"filled","r");
xlim([min([n1,n2]) max([n1,n2])])

7.2.3 调用结果

在这里插入图片描述

7.3序列移位

将序列左移或者右移

7.3.1 代码实现

function [y,n]=seqshift(x,n,m)
% 将序列向左移m位
% y=x(n-m)
n=n-m;
y=x;
end

7.3.2 调用测试

x=[2 4 3 5];
n=1:4;
subplot(2,1,1)
stem(n,x,'filled','g')
xlim([-5,5])
[y,n]=seqshift(x,n,3);
subplot(2,1,2);
stem(n,y,"filled",'r');
xlim([-5,5])

7.3.3 调用结果

在这里插入图片描述

7.4 序列翻褶

将序列沿着原点翻褶

7.4.1 代码实现

function [y,n]=seqfold(x,n)
n=-max(n):-min(n);
y=zeros(1,length(x));
for i=1:length(x)y(length(n)-i+1)=x(i);
end

7.4.2 调用测试

x=[4 2 5 3];
n=-1:2;
subplot(2,1,1);
stem(n,x,"filled",'g');
xlim([-4 4])
[y,n]=seqfold(x,n);
subplot(2,1,2);
stem(n,y,'filled','r');
xlim([-4 4])

7.4.3 调用结果

在这里插入图片描述

结语

上述函数虽然在Signal Processing Toolbox中都有提供,后续只要会使用即可,本篇博客为了帮助初学者更好的理解各种序列和运算实现的底层过程,为后续学习基于matlab仿真的数字信号处理打下良好的基础。上述代码可能有部分编写不足之处,欢迎批评指出!

http://www.dnsts.com.cn/news/161.html

相关文章:

  • 乐安网站建设willfast优化工具下载
  • 智慧团建网站初始密码公司网站建设平台
  • 外国的网站 ftp整合营销传播的六种方法
  • 大连建站公司产品推广的渠道
  • 华为做网站吗推广的公司
  • 做餐饮公司网站宁波网站建设推广公司价格
  • 网站内链优化百度seo优化推广
  • wordpress 多域名插件英文网站seo
  • 成都网站建设互联深圳做网站seo
  • 网站建设竞争对数分析重庆电子商务seo
  • 用手机如何做网站新手20种引流推广方法
  • 制作app的教程郑州seo培训班
  • 无锡哪个网站好深圳seo外包
  • 去哪里学习建设网站网站开发公司
  • 网站开发平台 运行平台西宁网站seo
  • 免费网站模块公司网站如何seo
  • 做网站大作业的心得体会在百度上怎么注册网站
  • asp.net当前网站路径整站优化seo公司哪家好
  • 影视网站源码建设新乡seo顾问
  • 灰色行业做网站推广百度惠生活怎么做推广
  • 政府网站建设工作表态发言站长工具seo词语排名
  • wordpress主题puresnowseo网络科技有限公司
  • 好看响应式网站模板下载网站建设优化收费
  • 网站开发信息平台项目总结南京百度快照优化排名
  • 让其他公司做网站的话术app香港账号
  • 装修之家网站aso优化什么意思是
  • 建立网站怎么做网站建设方案书范文
  • 白鹭引擎做h5网站一个网站如何推广
  • 做购物网站的素材免费推广产品的网站
  • 怎么搭建购物网站医疗网站优化公司