Matlab产生常用信号

产生均匀分布的随机序列、高斯白噪声随机序列、方波信号序列、三角波信号序列、正弦波信号序列,以及信噪比SNR为10dB的加性高斯白噪声正弦信号。
在这里插入图片描述

Ps=10;   %信号功率10dBW
Pn=1;    %噪声功率0dBW
f=100;   %信号频率
fs=1000; %采样频率
width=0.5;%函数sawtooth()尺度参数为0.5
duty=50;  %函数square()尺度参数为0.5

%产生信号
t=0:1/fs:1;
c=2*pi*f*t;
sq=square(c,duty);     %方波
tr=sawtooth(c,width); %三角波
si=sin(c);            %正弦波

%产生随机序列信号
noi=rand(1,length(t));     %均匀分布序列
noise=randn(1,length(t));  %高斯白噪声序列

%带有高斯白噪声的正弦信号
sin_noise=sqrt(2*Ps)*si+sqrt(Pn)*noise;
sin_noise=sin_noise/max(abs(sin_noise));

%画图
subplot(321); plot(t,noi);   axis([0 0.1 -1.1 1.1]);
xlabel('时间(s)','fontsize',8,'position',[0.08,-1.3,0]); ylabel('幅度(v)','fontsize',8);
title('均匀分布随机信号','fontsize',8);

subplot(322); plot(t,noise); axis([0 0.1 -max(abs(noise)) max(abs(noise))]);
xlabel('时间(s)','fontsize',8,'position',[0.08,-3.2,0]); ylabel('幅度(v)','fontsize',8);
title('高斯白噪声信号','fontsize',8);

subplot(323); plot(t,sq);   axis([0 0.1 -1.1 1.1]);
xlabel('时间(s)','fontsize',8,'position',[0.08,-1.3,0]); ylabel('幅度(v)','fontsize',8);
title('方波信号','fontsize',8);

subplot(324); plot(t,tr);   axis([0 0.1 -1.1 1.1]);
xlabel('时间(s)','fontsize',8,'position',[0.08,-1.3,0]); ylabel('幅度(v)','fontsize',8);
title('三角波信号','fontsize',8);

subplot(325); plot(t,si);   axis([0 0.1 -1.1 1.1]);
xlabel('时间(s)','fontsize',8,'position',[0.08,-1.3,0]); ylabel('幅度(v)','fontsize',8);
title('正弦波信号','fontsize',8);

subplot(326); plot(t,sin_noise); axis([0 0.1 -1.1 1.1]);
xlabel('时间(s)','fontsize',8,'position',[0.08,-1.3,0]); ylabel('幅度(v)','fontsize',8);
title('SNR=10dB的正弦波信号','fontsize',8);
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值