数字信号处理实验二(模拟信号采样与重构及频谱分析FFT)

news2024/11/27 1:21:14
  • 模拟信号采样与重构及频谱分析FFT(2学时)
    1. 要求:
      1. 对一模拟信号进行采样;
      2. 对该采样信号进行重构;
      3. 分析它们的频谱特征。
    2. 目的:
      1. 熟悉MATLAB命令和编辑、运行、调试环境;
      2. 掌握采样定理及对信号的频谱分析。

实验报告:

一、实验内容

i.对一模拟信号进行采样;

ii.对该采样信号进行重构;

iii.分析它们的频谱特征。

二、实验目的

i.熟悉MATLAB命令和编辑、运行、调试环境;

ii.掌握采样定理及对信号的频谱分析。

三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)

Windows系统 Matlab 2022b

四、实验记录

1.原理基础

i. 对模拟信号进行采样:采样是将模拟信号转换为数字信号的过程。采样定理(香农采样定理)指出,为了完全重构一个模拟信号,采样频率必须至少是信号中最高频率成分的两倍。

ii. 对采样信号进行重构:如果采样频率满足采样定理,可以通过内插(如零阶保持、线性内插或更高阶的内插方法)和滤波来重构模拟信号。

iii. 分析频谱特征:频谱分析是研究信号在频域上的特性,例如通过傅里叶变换或快速傅里叶变换(FFT)来获取信号的频率分量。

2 实验流程

i. 生成一个模拟信号,比如一个正弦波信号。

ii. 设定采样频率,并据此对模拟信号进行采样。

iii. 使用MATLAB的函数对采样信号进行重构。

iv. 分别对原始模拟信号和重构信号进行频谱分析。

3源程序代码

% generate_signal_and_poles_zeros 
%离散信号及离散系统的MATLAB编程实现
%结构:1.模拟信号的生成 2.零极点求解 3.零极点图绘制
%编辑人:贾雯爽
%目的:掌握模拟信号的采样、重构和频谱分析
%最后更新时间:2024/06/05 
%模拟信号采样、重构、频谱分析

%%1.模拟信号的生成
% 参数设置  
N = 100;%长度
A = 0.1;%幅度
omega = pi/4;%角频率
phi = pi/3;%初始相位

%输出复指数序列的代码
n = 0:N-1;%时间索引
x = A *exp(1i*(omega*n+phi));%生成复指数序列
disp('复指数序列的前几个值:');
disp(x(1:5));% 显示前5个值作为示例 

%绘制复指数序列的实部和虚部
figure;
subplot(2,1,1);
plot(n,real(x));
ylabel('实部');
grid on;

subplot(2,1,2);
plot(n,imag(x))
ylabel('虚部');
grid on;

%%2.系统零极点求解
  
b = [0.7, 0.3]; % 分子系数(从高到低)  
a = [1, -0.8, -0.5]; % 分母系数(从高到低)   

% 求解零点  
zeros = roots(b);  
disp('零点:');  
disp(zeros);  
  
% 求解极点  
poles = roots(a);  
disp('极点:');  
disp(poles);

  
% 3.绘制零极点图
figure;  
zplane(b, a); % 绘制零极点图  
title('系统的零极点图');  
grid on;

4实验结果

5实验结果分析

从频谱图中,我们可以观察到信号的主要频率成分以及它们的幅度。如果采样频率足够高,采样信号的频谱将能够准确地反映原始信号的频谱。然而,如果采样频率低于香农采样定理所要求的最小值,则采样信号的频谱将出现混叠现象,高频成分将折叠到低频区域,导致频谱失真。这强调了正确选择采样频率的重要性。

五、实验总结

通过本次实验,我深入理解了模拟信号采样、重构以及频谱分析的基本概念和原理。首先,我们生成了一个简单的正弦波模拟信号,并设定了一个采样频率对其进行采样。接着,我们使用MATLAB的FFT函数对原始模拟信号和采样信号进行了频谱分析。

从实验结果来看,当采样频率满足香农采样定理(即至少是信号中最高频率成分的两倍)时,采样信号的频谱能够较好地反映原始信号的频谱特性,两者在主要频率成分和幅度上非常相似。这说明在采样过程中,我们没有丢失太多关于信号的信息,能够较为准确地重构原始信号。

然而,如果采样频率低于香农采样定理所要求的最小值,采样信号的频谱将会出现混叠现象,高频成分将折叠到低频区域,导致频谱失真。这在实际应用中是不可取的,因为它会严重影响我们对信号特性的理解和后续的信号处理过程。

通过本次实验,我们更加熟悉了MATLAB的命令和编辑、运行、调试环境,掌握了采样定理的基本内容和频谱分析的方法。这对于我们今后在信号处理领域的学习和研究具有重要的指导意义。同时,我们也深刻认识到正确选择采样频率的重要性,这不仅是保证信号采样质量的关键,也是实现信号准确重构和分析的基础。


原创文章内容,学术不精恐有错漏之处,恳请各位批评指正。如有Matlab代码源文件或其他沟通需要,可通过邮箱(2642610289@qq.com)联系我,特情注意,学业繁忙难以及时回复,敬请理解。

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

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

相关文章

springboot高校合同信息管理系统-计算机毕业设计源码02888

摘要 随着高校规模的不断扩大和合作伙伴关系的增加,高校合同管理变得更加复杂和重要。传统的人工合同管理方式已经无法满足高校庞大的合同数量和复杂的合同流程需求。因此,借助信息技术来构建一个高校合同信息管理系统,并结合数据统计功能&am…

【数据分析】评估清理数据实战【淘宝母婴购物数据集】

概述 Ali_Mum_Baby 是一个数据集,其中包含 900 多万条儿童信息(生日和性别),这些信息由消费者提供,他们分享这些信息是为了获得更好的推荐或搜索结果。 数据说明 它包含消费者在淘宝或天猫上提供的 9,000,000 多个儿…

新港海岸NCS8822 低功耗DP转VGA 分辨率支持1920*1200*60HZ

NCS8822描述: NCS8822是一个低功耗显示端口到vga转换器。NCS8822集成了一个与DP1.2兼容的接收器和一个高速三通道视频DAC。对于DP1.2输入,NCS8822支持1车道/2车道,也支持车道交换功能。对于VGA输出NCS8822,在60Hz帧率下对WUXGA&a…

【Linux系统】CUDA的安装与graspnet环境配置遇到的问题

今天在安装环境时遇到报错: The detected CUDA version (10.1) mismatches the version that was used to compile PyTorch (11.8). Please make sure to use the same CUDA versions. 报错原因:安装的cuda版本不对应,我需要安装cuda的版本…

西门子PLC1200--与电脑S7通讯

硬件构成 PLC为西门子1211DCDCDC 电脑上位机用PYTHON编写 二者通讯用网线,通讯协议用S7 PLC上的数据 PLC上的数据是2个uint,在DB1,地址偏移分别是0和2 需要注意的是DB块要关闭优化的块访问,否则是没有偏移地址的 PLC中的数据内…

千万不能踏入的渠道管理五大误区!【附策略】

一、引言 在当今激烈的市场竞争环境中,有效的渠道管理是企业获得竞争优势的关键。然而,在实践过程中,不少企业因陷入管理误区而影响了市场拓展和品牌建设。本文旨在揭示渠道管理中常见的五大误区,并提供避免策略,帮助…

H2 Database Console未授权访问漏洞封堵

背景 H2 Database Console未授权访问,默认情况下自动创建不存在的数据库,从而导致未授权访问。各种未授权访问的教程,但是它怎么封堵呢? -ifExists 很简单,启动参数添加 -ifExists ,它的含义&#xff1a…

《梦醒蝶飞:释放Excel函数与公式的力量》8.7 STDEV函数

8.7 STDEV函数 STDEV函数是Excel中用于计算一组数值的标准偏差的函数。标准偏差是统计学中的一个重要指标,用于衡量数据集中各数值偏离平均值的程度。它反映了数据的离散程度或波动大小。 8.7.1 函数简介 STDEV函数用于返回样本数据的标准偏差,标准偏…

巨头们涌入的医疗大模型,何时迎来最好的商业时代?_google医疗大模型 医疗大模型

当下极为火爆的大模型,在医疗赛道同样炙手可热。谷歌刚刚发布了准确率达 91.1%、性能远超 GPT-4 系列的多模态医学大模型 Med-Gemini,国内市场亦很热闹。自 2023 年以来,百度、腾讯、京东等诸多大厂都相继加码医疗大模型领域,与医…

Zabbix动作与媒介

目录 前言 1. 动作的基本概念 2. 动作的常见用途 一. 环境准备 二. 创建动作 三. 添加媒介 前言 在 Zabbix 中,动作(Actions)用于在特定事件发生时执行一系列预定义的操作,比如发送通知、执行脚本等。动作通常与触发器&…

竹云实力入选《现代企业零信任网络建设应用指南报告》代表性厂商

2024年7月3日,国内网络安全媒体安全牛正式发布《现代企业零信任网络建设应用指南报告(2024版)》。竹云凭借在零信任领域创新性的产品方案和优异的市场表现,实力入选代表性厂商。 伴随着云计算、AI、大数据等技术的发展,远程办公、业务协同、…

rs轨迹校验

最近发现有些网站的rs似乎上了轨迹校验,附图: 写了个解rscookie的插件,可以精准看到rs更改了那些校验点,需要做什么处理,就很舒服 有需要轨迹代码或者瑞数相关的可以联系 let v huaqu0727

STM32智能家居安防系统教程

目录 引言环境准备智能家居安防系统基础代码实现:实现智能家居安防系统 4.1 数据采集模块 4.2 数据处理与分析 4.3 控制系统实现 4.4 用户界面与数据可视化应用场景:安防管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家居安防系统利用STM32嵌…

【python基础】—如何理解安装程序时要配置Widows和DOS操作系统中的path环境变量?

文章目录 前言一、环境变量是什么?二、为什么需要设置环境变量?三、配置anaconda的环境变量 前言 在安装一些程序的时候, 我们总是需要将安装路径配置到正在使用电脑的环境变量里。为什么要进行这一步呢?本文主要解释Widows和DOS…

【qt】如何通过域名获得IP地址?

域名是什么呢?像www.baidu.com的baidu.com就是域名. 域名相当于是网站的门牌号. 域名可以通过 DNS 解析将其转换为对应的 IP 地址. 用我们获取IP地址的方式就可以,但是现在没有可以用另一种方法. 槽函数的实现: void MainWindow::lookupHost(const QHostInfo &hostInf…

【docker】容器内配置环境变量

背景: 我要把下面的环境变量写到bash脚本里,起名叫environment_start.sh。 目的: 用于每次进入容器dev_into.sh的时候,让系统获取到环境变量。 操作步骤: 先在容器外找个合适的位置写环境变量bash脚本&#xff0c…

从0到1构建渠道运营体系:实战案例与策略指南

引言 在当今竞争激烈的市场环境中,有效的渠道运营是企业实现产品或服务快速触达目标用户、提升市场份额的关键。从零开始构建一个高效的渠道运营体系,不仅需要深思熟虑的策略规划,还需要灵活应变的实战操作。本文将结合实战案例,…

特殊用途二极管+二极管故障检测+三极管(BJT)的工作原理+定时器的使用(小灯定时闪烁实现)

2024-7-5,星期五,17:27,天气:晴,心情:晴。今天没有什么特殊的事情发生,继续学习啦,加油加油!!! 今日完成模电自选教材第二章内容的学习&#xff…

ES集成到ambari中出现的常见问题归总

1.elasticesearch用户名组的问题 KeyError: uelasticsearch Error: Error: Unable to run the custom hook script [/usr/bin/python, /var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py, ANY, /var/lib/ambari-agent/data/command-102.json, /var/lib/amb…

QT实现GIF动图显示(小白版,可直接copy使用)

需要你自己提前设置好动图的位置&#xff0c;本例中存放于"/Users/PLA/PLA/PLA.gif widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie> #include <QLabel>class Widget : public QWidget {Q_OBJECTpublic:explicit Wid…