Matlab 实现 信号的基本运算

实验名称

利用 Matlab 软件的信号处理工具箱(Signal Processing Toolbox)中的专用函数来实现信号的基本运算。
包括 + - * 时移、翻转、展缩 运算

实验环境

  • MATLAB - R2021b

实验目的

了解仿真基本的信号。

    1. sin() 产生正弦信号
      y=sin(x) x 是自变量 可看做时间向量
    1. plot() 画连续曲线图
      plot(x,y) 其中 x 是横轴 y 是纵轴 x, y 两个向量要求同样长度
    1. square() 产生 2π 为周期的方波。
      % x=square(t) t 为时间向量 x 为输出 长度与 t 相同。
    1. sinc() 产生类似Sa(t) 其表达式为: sin(π * t) / π * t
      y=sinc(x),x 为自变量 y 为同长度的向量
    1. syms 定义符号变量
      syms var1,var2,…,varn var 表示变量
    1. sym 将字符或者数字转换为字符
      var=sym(‘var’); var 表示变量 为字符或者数字
    1. 用 matlab 的符号函数实现信号的时移、翻转、展缩
      由 f(t)到 f(-at + b) (a > 0)步骤:
      已知 f(t) = sin(t) / t ,试通过翻转、移位、展缩由 f(t)的波形得到 f(-2t + 3)的波形
    1. 正弦信号和方波信号运算

实验结果

Matlab 实现 信号的基本运算_第1张图片

实验代码

% sin() 产生正弦信号
%   y=sin(x) x 是自变量 可看做时间向量

% plot() 画连续曲线图
%   plot(x,y) 其中 x 是横轴 y 是纵轴 x, y 两个向量要求同样长度

% square() 产生 2π 为周期的方波。
%   x=square(t) t 为时间向量 x 为输出 长度与 t 相同。

% sinc() 产生类似Sa(t) 其表达式为: sin(π * t) / π * t
%   y=sinc(x),x 为自变量 y 为同长度的向量

% syms 定义符号变量
%   syms var1,var2,...,varn var 表示变量

% sym 将字符或者数字转换为字符
%   var=sym('var'); var 表示变量 为字符或者数字

% 1. 产生正弦波
t=(0:0.001:50);         %在区间(0,50)等间隔 0.001 取点。
y= 2 * sin(2*pi*50*t) + 1;
subplot(5,2,1);
plot(t(1:50),y(1:50))   %画出 y 函数的曲线
title("正弦波");

% 2. 产生周期方波
t=0:0.01:10;
y=2 * square(4*pi*t) + 1;
subplot(5,2,3);
plot(t,y)
title("周期方波");

% 3. 产生 Sinc 函数
x=linspace(-5,5);%-55 每间隔 1 取值,得到一维矩阵 x。
y=sinc(x);
subplot(5,2,5);
plot(x,y)
title("Sa(t)函数");


% 4. 用 matlab 的符号函数实现信号的时移、翻转、展缩
%f(t)f(-at + b)  (a > 0)步骤:
%    已知 f(t) = sin(t) / t ,试通过翻转、移位、展缩由 f(t)的波形得到 f(-2t + 3)的波形
syms t;
f=str2sym('sin(t)/t');  %定义符号函数 f(t)=sin(t)/t
f1=subs(f,t,t+3);       %对 f 进行移位
f2=subs(f1,t,2*t);      %对 f1 进行展缩
f3=subs(f2,t,-t);       %对 f2 进行翻转
subplot(5,2,2);
fplot(f,[-8,8]);        % fplot 是符号函数绘图命令
title("Sa(t) 函数");


subplot(5,2,4);
fplot(f1,[-8,8]);
title("Sa(t + 3) 函数");

subplot(5,2,6);
fplot(f2,[-8,8]);
title("Sa(2t + 3) 函数");

subplot(5,2,8);
fplot(f3,[-8,8]);
title("Sa(-2t + 3) 函数");

f4 = subs(f,t,-2*t+3);
subplot(5,2,7);
fplot(f3,[-8,8]);
title("Sa(t)一键移位");

% 5. 正弦信号和方波信号运算
t=(0:0.001:0.5);         %在区间(0,0.5)等间隔 0.001 取点。
y1= 2 * sin(2*pi*50*t) + 1;

t=0:0.01:5;
y2=2 * square(4*pi*t) + 1;
subplot(5,2,9);
plot(t,y1+y2)
title("正弦信号和方波信号和运算");

t=(0:0.001:0.5);         %在区间(0,0.5)等间隔 0.001 取点。
y1= 2 * sin(2*pi*50*t) + 1;

t=0:0.01:5;
y2=2 * square(4*pi*t) + 1;
subplot(5,2,10);
plot(t,y1 -y2)
title("正弦信号和方波信号差运算");

觉得不错的,可以点个赞哦~
Matlab 实现 信号的基本运算_第2张图片

你可能感兴趣的:(#,▶信号与系统,matlab,信号与系统,信号基本运算,信号时移,翻转,展缩,matlab,仿真)