离散系统的频域分析(数字信号处理实验2-1)

创建具有15 Hz和40 Hz分量频率的信号,叠加两个信号形成混合信号x,使用fft命令绘制x的频域图,标注频率为横坐标,平均能量为纵坐标。

文章目录

  • 一.题目
  • 二.实验目的
  • 三.实验仪器
  • 四.实验原理
      • 1.MATLAB使用函数
      • 2.离散傅里叶变换(DFT)实验原理
  • 五.实验步骤
  • 六.实验代码与实验现象
    • 1.完整代码
    • 2.代码解析
  • 七.实验结论及分析
  • 八.Matlab实验源文件

一.题目

创建具有15 Hz和40 Hz分量频率的信号,叠加两个信号形成混合信号x,使用fft命令绘制x的频域图,标注频率为横坐标,平均能量为纵坐标。

二.实验目的

(1)掌握求离散信号频谱的方法。
(2)掌握求频域离散系统的频率响应特性。
(3)比较男女生的频谱特点

三.实验仪器

计算机,MATLAB软件

四.实验原理

1.MATLAB使用函数

在这里插入图片描述

2.离散傅里叶变换(DFT)实验原理

在信号的时域表示形式和频域表示形式之间,一个域的周期性对应于另一个域的离散性,一个域的非周期性对应于另一个域的连续性。所以,周期的离散时间信号的频谱是离散频率的周期函数。当信号在时域和频域中都是抽样的离散函数时,按照傅里叶变换的概念,他们在两个域中也必然是周期的。但是,用计算机去完成这样无限长序列的运算,显然是不可能的。同时由于这些序列的周期性,他们的信息均包含在一个周期之中,因此也没有必要作无限长序列的运算。这样,就有必要从时域和频域都缩减到一个限定的范围内来进行。这个范围,就是时间函数的一个周期Tp 和频谱函数的一个周期Ωp 。把离散信号在时域和频域的函数中各取一周期,并定义他们是离散傅里叶变换对,如以 DFT 表示离散傅里叶正变换,IDFT 表示离散傅里叶反变换,则有X (k ) = DFT[x(n)],x(n) = IDFT[ X (k )]
由此可见,离散傅里叶变换已经不是通常意义的傅里叶变换了。这种变换的特点,是信号在频域和时域中都只取有限个离散数据,只有当这些数据按一定的周期分别构成周期性的离散时间函数和周期性得离散频率函数时,他们才成为通常意义的傅里叶变换对。
计算离散傅里叶变换,既由 x(n) 计算 X (k ) 。有了周期的离散信号 ~x (n) 的频谱函数 ~X(k),按定义,只要取一个周期 X (k ) ,它就是 ~x (n) 一个周期 x(n) 的离散傅里叶变换。
对非周期离散信号的频谱进行抽烟可得X(k)
在这里插入图片描述
根据离散傅里叶变换的定义,取频谱函数的一个周期,于是得:
在这里插入图片描述
X(k)就称为x(n)的离散傅里叶变换DFT。k从0到N-1之间每取一个整数值,即可算出频谱函数的一个样点,总共有N个样点。

五.实验步骤

离散系统的频域分析

  1. 创建具有 15 Hz 和 40 Hz 分量频率的信号,叠加两个信号形成混合信号x, 使用fft命令绘制x的频域图,标注频率为横坐标,平均能量为纵坐标。
    用sin函数创建频率信号;使用fftshift函数执行以横坐标0为中心的循环移位。

六.实验代码与实验现象

1.完整代码

%【参数设置】
fs=100;N=128;   %采样频率和数据点数
n=0:N-1;t=n/fs;   %时间序列
A=0.5;           %设置振幅
phase = 0;       %设置相移
f1 = 15; f2 = 40;   %设置信号的频率为f1,f2
%【信号创建】
y1 = A*sin(2*pi*f1*t);   %创建频率为15Hz的信号
y2 = A*sin(2*pi*f2*t);   %创建频率为40Hz的信号
%【信号叠加】
x=y1+y2; %信号
%【fft绘制频域图】
x_fft=fft(x,N);    %对信号进行快速Fourier变换
mag=abs(x_fft);     %求得Fourier变换后的振幅
f=n*fs/N;    %频率序列
figure(1)
subplot(2,1,1),plot(f,mag);   %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('频率-振幅');grid on;%【以平均能量为纵坐标】
mag2 = (abs(x_fft).^2)/N     %求平均能量
subplot(2,1,2),plot(f,mag2);   %绘出频率-平均能量图
xlabel('频率/Hz');
ylabel('平均能量');title('频率-平均能量');grid on;%fftshift函数执行以横坐标0为中心的循环移位(以纵轴为对称轴)。
x_fft2 = fftshift(x_fft)
mag3=abs(x_fft2);     %求得Fourier变换后的振幅
mag4 = (abs(x_fft2).^2)/N     %求平均能量
figure(2)
subplot(2,1,1),plot(f,mag3);   %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('频率-振幅');grid on;
subplot(2,1,2),plot(f,mag4);   %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('平均能量');title('频率-平均能量');grid on;

2.代码解析

①创建具有15Hz和40Hz分量频率的信号
在这里插入图片描述
②叠加两个信号形成混合信号x
在这里插入图片描述
③fft命令绘制x的频域图
在这里插入图片描述
频域图绘制结果:
在这里插入图片描述
④标注频率为横坐标,平均能量为纵坐标。
在这里插入图片描述
频率-平均能量图绘制:
在这里插入图片描述

七.实验结论及分析

在实验1中,我学会了使用matlab绘制离散信号的频谱,并进一步加深了对离散信号频域响应特性的学习。

八.Matlab实验源文件

离散系统的频域分析实验源文件

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

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

相关文章

Python 装饰器与偏函数

目录 装饰器 概念 简单的装饰器 复杂点的装饰器 通用装饰器 定义通用装饰器 使用装饰器 偏函数 引入类库 应用 总结 装饰器 概念 装饰器就是个闭包;把一个函数当做参数,返回一个修改过功能的函数; 本质上是一个返回函数的函数。…

Mysql单表查询练习

一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10…

jdk动态代理和CGLIBE代理

静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 使用jdk的反射机制,创建对象的能力&…

ck 配置 clickhouse-jdbc-bridge

背景 ck可以用过clickhouse-jdbc-bridge技术来直接访问各数据库,包括oracle,oracle也可以用jdbc,odbc没调研过 规划 jdbc-bridge是面向客户端的技术,也就是说,那个节点有客户端,哪个节点就需要&#xff…

C语言——计算Fibonacci数列

方式一 for循环 (20位) #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int n;int a[20]{1,1};for ( n 1; n <20; n){a[n]a[n-2]a[n-1];}for ( n 0; n < 20; n){if(n%50)printf("\n");printf("%12d ",a[n]);}return 0; …

nodejs+vue+mysql皮具行李箱包包网上商城购物网站

本系统可分为两个大的模块&#xff0c;即前台用户模块和后台管理员模块&#xff0c;前台用户模块用户可以进行浏览查询皮具的各种信息&#xff0c;添加购物车&#xff0c;下订单等各种操作。后台管理员模块管理员可以进行皮具的处理&#xff0c;还有处理订单&#xff0c;皮具分…

【shell】文本三剑客之sed详解

目录 一、sed简介&#xff08;行编辑器&#xff09; 二、基本用法 三、sed脚本格式&#xff08;匹配地址 脚本命令&#xff09; 1、不给地址&#xff0c;那么就是针对全文处理 2、单地址&#xff0c;表示#&#xff0c;指定的行&#xff0c;$表示最后一行&#xff0c;/pattt…

redis运维(十二) 位图

一 位图 ① 概念 1、说明&#xff1a;位图还是在操作字符串2、位图玩字符串在内存中存储的二进制3、ASCII字符通过映射转化为二进制4、操作的是字符串value ② ASCII字符铺垫 1、控制ASCII字符 2、ASCII可显示字符 ③ SETBIT 细节&#xff1a; setbit 命令的返回值是之…

Vue + Element UI 实现复制当前行数据功能及解决复制到新增页面组件值不更新的问题

文章目录 引言第一部分&#xff1a;复制当前行数据功能的实现1.1 环境准备1.2 创建表格并渲染数据1.3 解决复制的数据不更新问题 第二部分&#xff1a;拓展知识2.1 Vue的响应性原理2.2 Element UI的更多用法 结语 Vue Element UI 实现复制当前行数据功能及解决复制到新增页面组…

数据结构与算法--特殊的完全二叉树--堆,堆排序,利用堆解决topk的问题

目录 前言 1.树概念及结构 1.1树的概念 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09; 2.二叉树概念及结构 2.1概念 2.2现实中的二叉树&#xff1a; 2.3 特殊的二叉树&#xff1a; 2.4 二叉树的性质 …

SimpleDateFormat在多线程下的安全问题

目录 情景重现 SimpleDateFormat解析 解决方案 局部变量 加锁 使用线程变量 使用DateTimeFormatter 情景重现 SimpleDateFormat类是Java开发中的一个日期时间的转化类。它可以满足绝大多数的开发场景&#xff0c;但是在高并发下会出现并发问题。接下来查看下文中的案例。…

php的字符转义函数有那些,是干什么的

在 PHP 中&#xff0c;字符转义函数是用于处理字符串中的特殊字符&#xff0c;以防止这些字符被误解、滥用或引起安全问题的一组函数。这些函数的主要作用是确保在将用户提供的数据插入到数据库、构建 HTML 输出或进行其他与安全相关的操作时&#xff0c;不会导致潜在的安全漏洞…

enum常用方法 - Java

六、enum常用方法 0、准备工作1、name()2、ordinal()3、values()4、valueOf()5、compareTo()6、toString() 说明&#xff1a;使用关键字enum时&#xff0c;会隐式 继承 Enum类&#xff0c;这样我们就可以使用 Enum 类相关的方法。 0、准备工作 enum Season2 {SPRING("…

Django快速搭建静态网页

Django的快速搭建 这个是例子 这个是一个目录 项目名称&#xff1a;项目似乎被命名为DJ0928&#xff0c;这是Django项目的根目录。 文件都是Django项目的核心配置文件。 settings.py 包含了项目的配置设置。urls.py 定义了项目的URL路由。wsgi.py 和 asgi.py 分别用于Web服务器…

springboot集成springsecurity

转载自&#xff1a;www.javaman.cn 1、整合springsecurity 添加pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> </dependency>2、springsecurity认证授权流程…

uniapp挽留提示2.0

项目需求&#xff1a;有时候挽留的ui是全屏的&#xff0c;用page-container也可以。后来产品提了个问题&#xff0c;手机侧滑的时候没那么顺畅&#xff08;就是一用侧滑&#xff0c;就显示出来&#xff0c;产品要的方案是如下图&#xff0c;emmm大概是这个意思&#xff09; 后面…

网络协议系列:TCP三次握手,四次挥手的全过程,为什么需要三次握手,四次挥手

TCP三次握手&#xff0c;四次挥手的全过程&#xff0c;为什么需要三次握手&#xff0c;四次挥手 一. TCP三次握手&#xff0c;四次挥手的全过程&#xff0c;为什么需要三次握手&#xff0c;四次挥手前言TCP协议的介绍三次握手三次握手流程&#xff1a;1. A 的 TCP 向 B 发送 连…

爬虫项目实战:利用基于selenium框架的爬虫模板爬取豆瓣电影Top250

&#x1f44b; Hi, I’m 货又星&#x1f440; I’m interested in …&#x1f331; I’m currently learning …&#x1f49e; I’m looking to collaborate on …&#x1f4eb; How to reach me … README 目录&#xff08;持续更新中&#xff09; 各种错误处理、爬虫实战及模…

浏览器插api开发文档

chrome谷歌浏览器开发文档

软著项目推荐 深度学习二维码识别

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天…