在MATLAB画出一个正弦波 您所在的位置:网站首页 cvi生成正弦波 在MATLAB画出一个正弦波

在MATLAB画出一个正弦波

2024-07-07 17:01| 来源: 网络整理| 查看: 265

模拟信号:   正弦波三要素:

           幅度A,角频率\omega,相位\varphi

            y=A sin\left ( \omega t+\varphi \right )

  角频率\omega与频率f的关系:

           要注意已知信号的角频率还是频率?

             \omega =2\pi f

           频率是Hz , 一秒几次的概念,角频率是rad/s , 一秒多少度的概念,2\pi 是一圈的弧度,一圈也就是一次的概念。

           周期: 圆形一圈,正弦一周,弧度 2\pi ,T=\frac{1}{f}=\frac{2\pi }{\omega } 

 MATLAB 离散信号

      MATLAB中的信号为离散信号,而正弦信号为 连续信号,所以需要 采样 将其 离散化。

      采样体现在   y=A sin\left ( \omega t+\varphi \right )    时间 t 的间隔  dt 的数值 

      采样定理(nyquist采样定理):  f_{s}\geqslant 2f 

       dt=1/ f_{s}

       根据以上要求在matlab中得到一个离散正弦信号。

       但是以上不足以画出一个满意的正弦波图像如下图,因为离散信号的画法就是我们所熟知的描点法,仅仅当f_{s}=2f 时,我们可以计算一下每个周期有多少个点:

                                   n=T/dt=T f_{s}=f_{s}/f=2

        一个周期内只有两点,显然是画不出来一个正弦波的,如果让我们均匀的描点法来画正弦波的话,我认为要20个点,10个画出来是三角波。我们再来逆向计算一下,若n=20, 则  f_{s}=?

         由上式可得                          f_{s}=nf=20f

         此时如下图得到一个正弦波图像。

         

          

      以上为如何在matlab中画出正弦信号的一些分析,个人见解,仅供参考,如有错误,劳烦指正。

 

    附录:matlab代码

  

%% 清内存 关闭窗口 准备工作 clear close all clc %% signal % 三要素 A=1; %amplify f=10; %Hz w=2*pi*f; %rad/s p=0; %rad %采样 T=1; %s %观测时间 fs=20*f; %Hz %采样频率 d=1/fs; %s %采样间隔 t=-T/2:d:T/2; %离散时间t s1=A*sin(w*t+p); %正弦信号 figure(1) plot(t,s1); xlabel('时间/s'); ylabel('幅度');

       



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有