how to plot a 123linear sweep spectrogram

2 ビュー (過去 30 日間)
ting po chun
ting po chun 2023 年 6 月 11 日
コメント済み: ting po chun 2023 年 6 月 12 日
Hi. I would like tp plot a linear sweep spectrogram and the frequency are 20Hz to 20kHz. Same of the fig. picture.
Thank!
  3 件のコメント
Diwakar Diwakar
Diwakar Diwakar 2023 年 6 月 11 日
May be this code will help you.
% Parameters
duration = 5; % Duration of the sweep in seconds
samplingRate = 44100; % Sampling rate in Hz
startFrequency = 20; % Start frequency in Hz
endFrequency = 20000; % End frequency in Hz
windowSize = 512; % Size of the analysis window
% Generate linear sweep signal
t = 0:1/samplingRate:duration; % Time vector
sweep = chirp(t, startFrequency, duration, endFrequency, 'linear');
% Compute spectrogram
overlap = round(windowSize*0.75); % Overlap between consecutive windows
nfft = 2^nextpow2(windowSize); % Number of FFT points
[s, f, t] = spectrogram(sweep, windowSize, overlap, nfft, samplingRate);
% Plot spectrogram
figure;
imagesc(t, f, 10*log10(abs(s)));
axis xy; % Flip the y-axis
colormap(jet);
colorbar;
xlabel('Time (s)');
ylabel('Frequency (Hz)');
title('Linear Sweep Spectrogram');
ting po chun
ting po chun 2023 年 6 月 12 日
@diwakar diwakar Thank you very much.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeTime-Frequency Analysis についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by