我是靠谱客的博主 淡淡香烟,最近开发中收集的这篇文章主要介绍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

原始数据

按行查看

历史

最后

以上就是淡淡香烟为你收集整理的signal generator matlab,SignalGenerator.m的全部内容,希望文章能够帮你解决signal generator matlab,SignalGenerator.m所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部