如何使用Matlab生成不同频率的正弦波? [英] How can I generate a sine wave with different frequencies using matlab?

查看:1342
本文介绍了如何使用Matlab生成不同频率的正弦波?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于我的项目,我需要使用matlab生成一个正弦波,其中包含100 000个样本,并且频率在每10 000个样本后随机变化.采样率和频率可以根据需要设置. matlab中有任何函数可以生成此函数吗?

For my project I need to generate a sine wave using matlab which has 100 000 samples and the frequency changes randomly after every 10 000 samples. The sampling rate and the frequencies can be as per convenience. Is there any function in matlab to generate this?

推荐答案

另一个例子:生成5个randon频率:-)

OK another example: to generate 5 randon frequencies :-)

%range of possibles frequencies
FrequenciesRandon = [200:1:500];

%number of randon frequencies ??
nf = 5;

EndSignal=[];

for j = 1 : nf
    t  = [ 0 : 1 : 10000];           % Time Samples
    f=randsample(FrequenciesRandon,1); % get the randon frequencie
    Fs = 44100;                     % Sampling Frequency
    data = sin(2*pi*f/Fs*t)';        % Generate Sine Wave
    EndSignal= [data;EndSignal];    
end

wavplay(EndSignal,Fs) 

这篇关于如何使用Matlab生成不同频率的正弦波?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆