signal generator matlab,SignalGenerator.m

%% SignalGenerator.m

% Script by AD1394@XJTU

%

% 测试信号发生.

%% 衰减正弦

Fs = 2e3;

tSpan = 50e-3;

t = 0:1/Fs:tSpan;

f = 400;

tau = .05;

y = sin(2*pi*f*t) .* exp(-t ./ tau);

%% 正弦混合加噪

Fs = 4e3;

tSpan = 50e-3;

t = 0:1/Fs:tSpan;

amp = [10852];

freq = [1234] .* 1e2;

phi0 = [000pi/2];

y = harmonics(freq, amp, phi0, t); % 合成, 使用 harmonics.m

epsilon = 0.2;

y = y + (epsilon * rms(y)) * randn(size(y)); % 加噪

% Communications Toolbox 中 wgn awgn 可一键加噪

%% 调制

% 使用 modulate 函数实现

Fs = 20e3;

fCarrier = 550;% 载波频率

fModulate = 20;% 调制频率

tSpan = 0.4;% 信号长度

sgn = sin(2*pi*fModulate .*(0:1/Fs:tSpan/2));

% AM 简单调制

y = modulate(sgn, fCarrier, Fs, 'am');

% AM LSB 调制

y = modulate(sgn, fCarrier, Fs, 'amssb');

%% OOK 调制

Fs = 5e3;

fCarrier = 550;% 载波频率

fModulate = 20;% 调制频率

duty = 80;% 占空比, 0-100

tSpan = 0.4;% 信号长度

epsilonW = .1;% 调制平滑指数. 为滑窗长与键控信号周期长的比例

t = 0:1/Fs:tSpan/2;

% 硬开关

y = (square(2*pi*fModulate .* t, duty)./2 + .5) .* sin(2*pi*fCarrier .* t);

% 软开关, 边沿由滑窗均值平滑

% y = movmean(square(2*pi*fModulate .* t, duty)./2 + .5, Fs*epsilonW/fModulate) .* sin(2*pi*fCarrier .* t);

%% 啁啾, 扫频

Fs = 5e3;

tSpan = 0.4;

t = 0:1/Fs:tSpan;

freq1 = .1e3;

freq2 = 1e3;

% 线性扫频, f1 扫到 f2

% y = chirp(t, freq1, tSpan, freq2, 'linear');

% 对数扫频, f1 扫到 f2

y = chirp(t, freq1, tSpan, freq2, 'logarithmic');

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值