实验一:用MATLAB实现正弦信号y=cos(1/4*pi*t)波形及频谱,画图、对每一行代码进行标注并完成实验报告。

1.实验代码

为实现正弦信号的波形和频谱,可通过编写傅里叶变换和傅里叶反变换的matlab函数,即编写其子程序,有“t2f.m”和“f2t.m”和task.m文件,详细编写如下所示。

新建matlab函数t2f.m文件

%傅里叶变换子程序
function X=t2f(x)
global dt df N t f T;           %定义全局变量。
%X=t2f(x)
%x 为时域的取样值矢量
%X 为 x 的傅氏变换
%X 与 x 长度相同,并为 2 的整幂。
%本函数需要一个全局变量 dt(时域取样间隔)
H=fft(x);                       %傅里叶变换。
X=[H(N/2+1:N),H(1:N/2)].*dt;    %x的傅氏变换。
end

新建matlab函数f2t.m文件

%傅里叶反变换子程序
function x=f2t(X)
global dt df t f T N;           %定义全局变量。
%x=f2t(X)
%x 为时域的取样值矢量
%X 为 x 的傅氏变换
%X 与 x 长度相同并为 2 的整幂
%本函数需要一个全局变量 dt(时域取样间隔)
X=[X(N/2+1:N),X(1:N/2)];        %x的傅氏变换。
x=ifft(X)/dt;                   %快速反傅里叶变换。
%x=[tmp(N/2+1:N),tmp(1:N/2)];
end

新建matlab程序,task.m文件

%% 正弦信号的波形及频谱的求解-程序close all;clear all;clc;global dt df N t f T                    %全局变量N=2^14;                                 %采样点数dt=0.01;                                %时域采样间隔df=1/(N*dt);                            %频域采样间隔T=N*dt;                                 %截短时间Bs=N*df/2;                              %系统带宽t=linspace(-T/2,T/2,N);                 %定义范围为[-T/2,T/2],个数为N。f=linspace(-Bs,Bs,N);                   %定义范围为[-Bs,Bs],个数为N。s=sin(2/3*pi*t);                        %正弦信号。S=t2f(s);                               %调用t2f.m文件。a=f2t(S);                               %调用f2t.m文件。figure(1);                              %生成窗口1。set(1,'Position',[10,350,600,200]);     %设定窗口位置及大小figure(2);                              %生成窗口2。set(2,'Position',[10,50,600,200]);      %设定窗口位置及大小figure(1)                               %生成窗口1。as=abs(S);                              %求模plot(f,as);                             %绘制正弦信号频谱图。axis([-2,+2, 1.1*min(as), 1.1*max(as)]);%设置坐标轴范围。title('正弦信号y=sin(\pit/4)频谱图');     %主题标注。xlabel('f (MHz)');                      %横轴标注。ylabel('Ps(f)');                        %纵轴标注。grid on;                                %打开网格。figure(2);                              %生成窗口2。plot(t,a);                              %绘制正弦信号波形图。axis([-5,5,1.1*min(a),1.1*max(a)]);     %设置坐标轴范围。title('正弦信号y=sin(\pit/4)波形图');     %主题标注。xlabel('t');                            %横轴标注。ylabel('s(t)');                         %纵轴标注。grid on;                                %打开网格。

2.实验结果

注意:t2f.m、f2t.m和task.m文件要放在同一个文件夹下。

《数字信号处理》正弦信号的波形及频谱的求解相关推荐

  1. 数字信号处理①之信号的合成、分解、相关性及傅里叶系数的计算

    数字信号处理系列博客: 数字信号处理之信号的合成.分解.相关性及傅里叶系数的计算 数字信号处理之从傅里叶系数到DFT 文章目录 一.信号的合成和分解 (一)傅里叶级数 (二)将正弦波合成方波 二.信号 ...

  2. matlab通信原理实验低频高频,通信原理实验一 模拟调制已调信号的波形和频谱.doc...

    通信原理实验一 模拟调制已调信号的波形和频谱.doc (17页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 <通信原理>课 ...

  3. 数字信号处理——观察信号的频谱

    今天学习将时域信号通过FFT转换为频域信号之后,将其各个频率分量的幅值绘制成图,可以很直观地观察信号的频谱.重点理解FFT变换的过程. 程序来自参考书<Python科学计算> import ...

  4. 数字信号处理之信号的抽取和内插

    注:学这部分内容时参考了宗孔德教授的<多抽样率信号处理>教材 一.为什么需要整数倍抽取和内插:文章最后有更详细说明 理想情况下的信号采样大部分信号是单一频率,直接设置一个固定值fs就可以. ...

  5. 数字信号处理学习笔记[0] 连续信号的频谱和傅氏变换

    文章目录 绪论 1 连续信号的频谱和傅氏变换 1.1 有限区间上连续信号的傅氏级数和离散频谱 1.2 傅氏变换,连续信号与频谱 1.2.3 频谱的基本性质 实际应用举例 习题 绪论 Q: 举例说明&q ...

  6. 数字信号处理基础----信号的调制

    1. 信号的调制   由于光速为波长和频率的成绩,因此当频率很低的时候,要发送电磁波的时候,需要的天线很长,当频率被调制到高频的时候,就可以将天线做短. 1.1 单音信号的调制   若现在有一个单音信 ...

  7. 现代数字信号处理---随机信号基础

    随机信号的统计描述 信号的分类 确定性信号:能够以确定的时间函数表示的信号 随机信号:也称为不确定信号或随机过程,不是时间的确定函数 平稳随机信号:信号的统计特征是确定的 非平稳随机信号:信号的统计特 ...

  8. 用MATLAB读取MORSE、BPSK、QPSK信号的波形和频谱

    1.需求分析   现有MORSE.BPSK.QPSK三种信号,要对其进行识别,那么首先我们需要将其波形读取出来并进行频谱分析. 2.使用MATLAB进行波形读取与频谱分析    所使用到的几个函数如下 ...

  9. 西安交通大学控制专硕学硕考研资料清单(自动控制、数字信号处理、信号与系统)

    前言 这份资料是我当时自己考研使用的资料,应该说包含了西交自动化本科的方方面面的考研资料.我自己在西交自动化本科的时候自控和数字信号处理的成绩也都是95左右.后面考研成功后,这份资料分享给很多本校学弟 ...

  10. 数字信号处理 --- 周期信号的三角函数表示 一(三角函数的性质和三角波的合成)

    三角函数的性质 一系列三角函数谐波(harmonic sinusoids)是傅里叶分析的基石,我们可以用这些不同频率的谐波构建各种各样的信号/波形. 谐波(harmonics): 现在我们选择一个频率 ...

最新文章

  1. detach detach_ pytorch
  2. 成本管理4个过程及相关重点
  3. 【PPT 下载】神策 2017 数据驱动大会干货限时分享!
  4. 再战FGM!Tensorflow2.0 自定义模型训练实现NLP中的FGM对抗训练 代码实现
  5. linux目录表及功能n鸟哥,鸟哥linux学习之-资料与目录管理
  6. Cordova工程里android平台相关的index.html是怎么加载的
  7. 面试官让我讲下线程的TIMED_WAITING状态,我又笑了
  8. python开发环境一般用哪个快递_基于Python的常用快递sdk调用代码实例
  9. 指针的指针(二级指针)本质
  10. IDEA查看Java源码技巧
  11. java防止SQL注入
  12. swift下FMDB的使用
  13. python wget_python wget下载文件
  14. 初级软考程序员不会c语言,初级程序员考试就这么简单
  15. 公众号开发定时群发php,微信公众平台新增定时群发功能(新功能)
  16. 如何理解软件测试质量,我对测试总结报告和质量分析报告的理解
  17. Postman教程-Send Requests相关的基本操作
  18. MFC连接SQL数据库操作
  19. 电子计算机常用面试题,计算机常用面试题文档.doc
  20. 一个妹子的考研倒计时一百天

热门文章

  1. 《炬丰科技-半导体工艺》SC-1颗粒去除和piranha后漂洗的机理研究
  2. AMAZON SP API Feed
  3. (转载)BitCometTracker使用指南
  4. Fiddler Everywhere抓包之视频下载
  5. 「 神器 」极简网速监控悬浮窗软件
  6. appcan mysql_AppCan的图片、文件操作、上传、下载操作 From Ken
  7. 20sccm_sccm是什么单位-简短介绍
  8. shader篇-立方体纹理
  9. 金融431可以带计算机,南京大学金融431可以带计算器吗?
  10. 网页图片+文字并排显示效果