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

【MATLAB】【数字信号处理】线性卷积和抽样定理

已知有限长序列:xk=1,2,1,1,0,-3, hk=[1,-1,1]

,

计算离散卷积和yk=xk*h(k)

程序如下:

function [t,x] = My_conv(x1,x2,t1,t2,dt)
%文件名与函数名对应
%自写的卷积函数
x = conv(x1,x2)*dt;
t0 = t1(1) + t2(1);
L = length(x1) + length(x2)-2;
t = t0:dt:(t0+L*dt);
end
clear;
k1 = [0, 1, 2, 3, 4, 5];   %xk的序列号
xk = [1, 2, 1, 1, 0, -3];   %xk的序列值
subplot(311);
stem(k1,xk,'filled');
title('x(k) = [1,2,1,1,0,-3]');
k2 = [0, 1, 2];
hk = [1, -1, 1];
subplot(312);
stem(k2, hk,'filled');
title('h(k) = [1,-1,1]');
[k3,yk] = My_conv(xk, hk, k1, k2, 1);   %调用卷积的函数
subplot(313);
stem(k3,yk,'filled');
title('y(k) 卷积后图像');

运行结果如下:

用MATLAB实现对信号xt=cos⁡(2π×20t) 的抽样。

代码如下:

clear;
Signal_Frequency = 20;    %信号频率
Signal_Ts = 0.001; %信号的采样间隔
t = 0 : Signal_Ts : 0.1;% fs = 10fc
Sample_Frequency = 1 * Signal_Frequency; %采样频率
Sample_Ts = 1 / Sample_Frequency;%抽样的间隔
xt = cos(2*pi * Signal_Frequency * t);
n = 0 : Sample_Ts : 0.1;
xn = cos(2*pi * Signal_Frequency * n);subplot(321); plot(t,xt); hold on;
stem(n,xn); title('fs = fc');
X1k = fft(xn, Sample_Frequency);
subplot(322); stem(X1k);% fs = 2fc
Sample_Frequency = 2 * Signal_Frequency; %采样频率
Sample_Ts = 1 / Sample_Frequency;%抽样的间隔
xt = cos(2*pi * Signal_Frequency * t);
n = 0 : Sample_Ts : 0.1;
xn = cos(2*pi * Signal_Frequency * n);
subplot(323); plot(t,xt); hold on;
stem(n,xn); title('fs = 2fc');
X10k = fft(xn, Sample_Frequency);
subplot(324); stem(X10k); title('fs = 2fc频谱');% fs = 10fc
Sample_Frequency = 10 * Signal_Frequency; %采样频率
Sample_Ts = 1 / Sample_Frequency;%抽样的间隔
xt = cos(2*pi * Signal_Frequency * t);
n = 0 : Sample_Ts : 0.1;
xn = cos(2*pi * Signal_Frequency * n);
subplot(325); plot(t,xt); hold on;
stem(n,xn); title('fs = 10fc')
X10k = fft(xn, Sample_Frequency);
subplot(326); stem(X10k); title('fs = 10fc频谱');

运行结果如下:

已知序列[xk]={1,1,1} ,对其频谱X(ejΩ) 进行抽样,分别取N=2,3,10观察频域抽样造成的混叠现象。

代码如下:

clear;
xn = [1, 1, 1];X2k = fft(xn,2);
subplot(311);
stem(X2k,'filled');X3k = fft(xn,3);
subplot(312);
stem(X3k,'filled');X10k = fft(xn, 10);
subplot(313);
stem(X10k,'filled');

运行结果如下:

http://www.lryc.cn/news/273954.html

相关文章:

  • 什么是 MVVM ?
  • Redis(一)
  • 自动驾驶预测-决策-规划-控制学习(1):自动驾驶框架、硬件、软件概述
  • SSM建材商城网站----计算机毕业设计
  • js逆向第9例:猿人学第2题-js混淆-动态cookie1
  • [论文分享]TimesURL:通用时间序列表示学习的自监督对比学习
  • 解决sublime中文符号乱码问题
  • 厚积薄发11年,鸿蒙究竟有多可怕
  • pyDAL一个python的ORM(4) pyDAL查询操作
  • 如何通过Python将各种数据写入到Excel工作表
  • 跟着cherno手搓游戏引擎【2】:日志系统spdlog和premake的使用
  • Ubuntu20.04 上启用 VCAN 用作本地调试
  • LeetCode(31) 下一个排列
  • Git LFS: 简单高效的大文件版本控制
  • 如何培养用户思维
  • 由浅入深理解C#中的事件
  • Nginx(十六) 配置文件详解 - server stream服务流
  • Css中默认与继承
  • gitee上的vue大屏项目
  • 【LeetCode:114. 二叉树展开为链表 | 二叉树 + 递归】
  • 社保养老金发放计算方法
  • 概率论基础复习题
  • c++,mutex,unique_lock,recursive_mutex,shared_mutex对比分析
  • MySQL与Oracle数据库在网络安全等级方面用到的命令
  • MySQL——视图
  • 【响应式编程-03】Lambda表达式底层实现原理
  • 深入理解可变参数
  • Centos7.9和Debian12部署Minio详细流程
  • 软件测试|教你如何使用UPDATE修改数据
  • 新闻稿发布:媒体重要还是价格重要