离散时间信号的分析(数字信号处理实验1-2)

前言:该系列实验均使用matlab完成,实验课程为《数字信号处理》
在这里插入图片描述

文章目录

  • 一.题目
  • 二.实验目的
  • 三.实验仪器
  • 四.实验原理
        • 实验所用的matlab函数解析
        • 离散时间信号实验原理:
  • 五.实验步骤
  • 六.实验代码及实验结果
    • 完整代码
        • 1.线性卷积代码
        • 2.循环卷积运算代码
  • 七.实验结论及分析讨论

一.题目

已知序列x[k]={1,2,3.4},y[k]={-1,1,2,3},试计算序列x[k]与yk]的线性卷积,并验证循环卷积与线性卷积的结果相同时的条件。

二.实验目的

1.掌握卷积的原理;

三.实验仪器

计算机,MATLAB软件

四.实验原理

实验所用的matlab函数解析
  1. sound: 播放声音
    (1)sound(Y,Fs): 将向量Y(具有采样频率FS)中的信号发送到支持声音的平台上的扬声器。
    (2)sound(Y):以默认采样率播放声音
    (3)sound(Y,Fs,BITS):使用样本播放声音
    2.num2str: 将数值转换为字符串
    3.disp: 用来展示变量的内容,可以是字符串,矩阵,结构体。
  2. conv: 卷积函数,用于两个信号的卷积
    5.subplot:将多图画到一个平面上的工具。
离散时间信号实验原理:

1.线性卷积
线性时不变系统输入、输出间的关系为:当系统输入序列为x(n) ,系统的单位脉冲响应为h(n),输出序列为y(n),则系统输出为:
在这里插入图片描述
上式称为线性卷积

2.循环卷积
在这里插入图片描述

上式称为x1(n)和x2(n)的循环卷积

3.循环卷积与线性卷积的关系

在这里插入图片描述

五.实验步骤

  1. 已知序列x[k]={1,2,3,4},y[k]={-1,1,2,3},试计算序列x[k]与y[k]的线性卷积,并验证循环卷积与线性卷积的结果相同时的条件。

六.实验代码及实验结果

完整代码

1.线性卷积代码
%线性卷积的运算
x = [1,2,3,4]       %创建序列x[k]={1,2,3,4},k从0开始
y = [-1,1,2,3]      %创建序列y[k]={-1,1,2,3},k从0开始
h = conv(x,y)       %序列x[k]与y[k]卷积,结果记录为h
subplot(2,2,1);stem(k,x);title('x[k]'); %绘制序列x[k]图像
subplot(2,2,2);stem(k,y);title('y[k]'); %绘制序列y[k]图像
subplot(2,2,3);stem(k,h);title('h[k]'); %绘制线性卷积结果图像

线性卷积运行结果:
在这里插入图片描述
在这里插入图片描述

2.循环卷积运算代码
%循环卷积的运算
%cconv 函数用于计算两个有限长序列的循环卷积
%x:长度为N的有限长序列,N = 4
%y:长度为M的有限长序列,M = 4
%L:循环卷积的长度
%l:线性卷积输出序列长度l = N+M-1=7
%h:x与y的循环卷积结果,L>=max(N,M)
x = [1,2,3,4]       %创建序列x[k]={1,2,3,4},k从0开始
y = [-1,1,2,3]      %创建序列y[k]={-1,1,2,3},k从0开始
L = 9              %设置循环卷积的长度
h = cconv(x,y,L)  %计算循环卷积

循环卷积运行结果:

  • 当L<N+M-1时(程序代码中修改L=6)
    在这里插入图片描述
  • 当L=N+M-1时(程序代码中修改L=7)
    在这里插入图片描述
  • 当L>N+M-1时(程序代码中修改L=9)
    在这里插入图片描述
    综上验证可得:
    (1) 当L<N+M-1时,循环卷积是线性卷积长度为L的混叠;
    (2) 当L=N+M-1时,循环卷积=线性卷积;
    (3) 当L>N+M-1时,循环卷积是线性卷积末尾补L-(N+M-1)个零;

七.实验结论及分析讨论

1.在离散时间信号的分析实验中,循环卷积与线性卷积结果相同的条件是:L=N+M-1。
循环卷积与线性卷积的关系为:
(1) 当L<N+M-1时,循环卷积是线性卷积长度为L的混叠;
(2) 当L=N+M-1时,循环卷积=线性卷积;
(3) 当L>N+M-1时,循环卷积是线性卷积末尾补L-(N+M-1)个零;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(亲测有效)解决windows11无法使用1500000波特率的问题

大家好&#xff01;我是编码小哥&#xff0c;欢迎关注&#xff0c;持续分享更多实用的编程经验和开发技巧&#xff0c;共同进步。 1、问题描述 从图1可以看出串口是正常的&#xff0c;安装的驱动是CP210xVCPInstaller_x64.exe&#xff0c;但是从图2可以看出&#xff0c;串口拒…

HarmonyOS ArkTS 使用DevEco Studio高效开发(十三)

1、快速开始 打开IDE后&#xff0c;在IDE上边栏有个Help入口&#xff0c;里面有一个Quick Start快速开始入口&#xff0c;点击进去就会进入到快速开始面板。在这个面板中会有一些快速入门的实验指导和一些常用的链接。快速开始相当于一个收藏夹&#xff0c;把最常用的一些学习…

git stash save untracked not staged

git stash save untracked not staged 如图 解决方案&#xff1a; git stash save "tag标记信息" --include-untracked或者&#xff1a; git stash save -u "tag标记信息" git stash clear清空本地暂存代码_zhangphil的博客-CSDN博客文章浏览阅读486次。…

银河麒麟高级服务器操作系统V10安装达梦数据库管理系统DM8——单实例

一、介绍 之前介绍过供个人学习在VMware虚拟机上安装银河麒麟高级服务器操作系统V10&#xff0c;有兴趣的可以去看看&#xff08;银河麒麟V10安装&#xff09;&#xff0c;本次主要学习在银河麒麟V10上安装达梦数据库-DM8。DM8是达梦公司在总结DM系列产品研发与应用经验的基础…

记录一次YAMLException异常

记录一次YAMLException异常 ✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 报错以及B…

C语言——深入理解指针(3)

目录 1. 字符指针 2. 数组指针 2.1 数组指针变量 2.2 数组指针变量的初始化 3.二维数组传参&#xff08;本质&#xff09; 4. 函数指针 4.1 函数指针变量的创建 4.2 函数指针的使用 4.3 typedef 5. 函数指针数组 6. 转移表&#xff08;函数指针数组的使用&#xff…

硬盘录像机无法注册到视频监控平台EasyCVR上是什么原因?该如何解决?

视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&#xff0c;也…

【20年扬大真题】试写一算法在带头结点的单链表结构上实现线性表操作LENGTH(L)

【20年扬大真题】 试写一算法在带头结点的单链表结构上实现线性表操作LENGTH&#xff08;L&#xff09;。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdbool.h> #include<malloc.h> //单链表定义 //链表结点 int A[10] { 1,2,3,4,5,6,…

低调使用。推荐一个 GPT4 Turbo、Vision、GPTs、DELL·E3 等所有最新功能同步可用国内网站

在 11 月 6 日&#xff0c;万众期待的 OpenAI DevDay&#xff0c;ChatGPT 发布了一系列新的产品&#xff0c;其中推出了 GPT4 Turbo&#xff0c;并且将GPT4 Vision&#xff0c;DELLE3 等等能力全部集合到一起&#xff0c;不需要再分开使用&#xff0c;原来的局限的文本聊天也进…

python类的多重继承继承和查找顺序

1 python类的多重继承继承和查找顺序 python中&#xff0c;类的多重继承允许子类继承多个基类&#xff0c;子类可以访问多个基类的属性和方法。 1.1 多重继承基础 用法 class MulClass(BaseC1,BaseC2,...BaseCn):pass描述 Mulclass&#xff1a;子类&#xff08;或者称混合…

JavaScript包装类型

前端面试大全JavaScript包装类型 &#x1f31f;经典真题 &#x1f31f;包装类型 &#x1f31f;真题解答 &#x1f31f;总结 &#x1f31f;经典真题 是否了解 JavaScript 中的包装类型&#xff1f; &#x1f31f;包装类型 在 ES 中&#xff0c;数据的分类分为基本数据类型…

微信预约小程序制作

对于许多新手来说&#xff0c;制作微信预约小程序可能是一项挑战&#xff0c;但并非不可能。本文将通过详细的步骤&#xff0c;指导您从零开始制作一个微信预约小程序。首先&#xff0c;您需要找一个合适的第三方制作平台或工具&#xff0c;乔拓云网就是其中之一。 找一个合适的…

【数据结构】八大排序 (三)

目录 前言&#xff1a; 快速排序 快速排序非递归实现 快速排序特性总结 归并排序 归并排序的代码实现 归并排序的特性总结 计数排序 计数排序的代码实现 计数排序的特性总结 前言&#xff1a; 前文快速排序采用了递归实现&#xff0c;而递归会开辟函数栈帧&#xff0…

信号类型(通信)——最小频移键控(MSK)

系列文章目录 《信号类型&#xff08;通信&#xff09;——仿真》 《信号类型&#xff08;通信&#xff09;——QAM调制信号》 《信号类型&#xff08;通信&#xff09;——QPSK、OQPSK、IJF_OQPSK调制信号》 目录 前言 一、MSK信号特点 1.1、最小频移 1.2、相位连续 二…

Ubuntu16.04.4系统本地提权实验

目录 1.介绍&#xff1a; 2.实验&#xff1a; 3.总结&#xff1a; 1.介绍&#xff1a; 1.1&#xff1a;eBPF简介&#xff1a;eBPF(extendedBerkeleyPacketFilter)是内核源自于BPF的一套包过滤机制&#xff0c;BPF可以理解成用户与内核之间的一条通道&#xff0c;有非常强大的…

Python的控制流语句使用

Python的控制流语句使用 判断语句 if分支示意图语法介绍注意事项示例 for循环示意图语法介绍列表推导式示例 while循环与for的区别语法介绍示例 判断语句 if分支 示意图 单、双、多分支&#xff1a; 语法介绍 # 单分支 if condition:expression # 双分支 if condition:exp…

Spark-java版

SparkContext初始化 相关知识 SparkConf 是SparkContext的构造参数&#xff0c;储存着Spark相关的配置信息&#xff0c;且必须指定Master(比如Local)和AppName&#xff08;应用名称&#xff09;&#xff0c;否则会抛出异常&#xff1b;SparkContext 是程序执行的入口&#xf…

设计好的测试用例,6大注意事项

设计好的测试用例对于发现缺陷、验证功能、提高可靠性、降低风险和提高效率都具有重要的作用&#xff0c;是保证产品质量和稳定性的重要环节。如果测试用例有问题&#xff0c;可能会导致遗漏缺陷、功能验证不充分、测试效率低下以及误报漏报等问题&#xff0c;从而影响项目的质…

Ubuntu安装nfs服务步骤

Ubuntu安装nfs服务步骤 一、NFS&#xff1f; NFS&#xff1a;网络文件系统&#xff08;Network File system File&#xff09;缩写&#xff0c;可通过网络让不同的机器&#xff0c;不同操作系统之间可以彼此共享文件和目录。 二、安装 1.安装nfs服务器命令&#xff1a;sudo…

BUUCTF-pwn-ciscn_2019_ne_51

简单查看保护&#xff1a; 32为程序没有canary没有PIE&#xff0c;应该是简单的栈溢出。我们照着这个思路去找溢出点在哪&#xff0c;运行下程序看看什么情况&#xff1a; 程序上来是输入一个密码验证。随便输入下错误直接退出。因此我们需要到IDA中看看怎么回事&#xff1a; 主…