【问题标题】:How can I generate a sine wave with different frequencies using matlab?如何使用matlab生成不同频率的正弦波?
【发布时间】:2012-02-08 18:10:51
【问题描述】:

对于我的项目,我需要使用具有 100 000 个样本的 matlab 生成一个正弦波,并且频率在每 10 000 个样本后随机变化。采样率和频率可以根据需要而定。 matlab中是否有任何函数可以生成这个?

【问题讨论】:

    标签: matlab signal-processing


    【解决方案1】:

    OK 另一个例子:生成 5 个随机频率 :-)

    %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) 
    

    【讨论】:

    • 哦,谢谢,我明白了...如果两个频率在中间重叠,那会​​怎样。样本..循环将无法工作。请问我可以解决这个问题吗?
    【解决方案2】:

    您好,我知道在 matlab 中没有现成的函数可以执行此操作,但是在 matlab 中执行此操作非常简单,一个简单的示例说明如何在 450Hz 下生成 10 000 个样本

    t  = [ 0 : 1 : 10000];           % Time Samples
    f  = 450;                       % Input Signal Frequency
    Fs = 44100;                     % Sampling Frequency
    data = sin(2*pi*f/Fs*t)';        % Generate Sine Wave
    wavplay(data,Fs)                 %to Listen
    

    【讨论】:

    • 这不是我真正需要的。单个 Wave 应该包含不同的频率...请
    【解决方案3】:

    以下是不同顺序频率的示例。

    % Generate a sequencial sinusoid
    fs = 8000;                                        % sampling rate
    amp = 1;                                          % amplitude
    freqs = [262, 294, 330, 350, 392, 440, 494, 523]; % frequency in Hz
    T = 1/fs;                                         % sampling period
    dur = 0.5;                                        % duration in seconds
    phi = 0;                                          % phase in radian
    y = [];
    
    for k = 1:size(freqs,2)
        x = amp*sin(2*pi*freqs(k)*[0:T:dur-T]+phi);
        y = horzcat(y,x);
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 2015-12-16
      相关资源
      最近更新 更多