How do I plot a 144000 sample sound file with 400 samples in different windows with for loop?

1 次查看(过去 30 天)
I have a plot of an audio file with 144000 samples. I want to draw these 144000 sample sound files in 400 separate windows each. Each window will contain 400 instances of it, and I want to interpret it in every 400 windows. Can you help me?
  2 个评论
furkan akhan
furkan akhan 2021-4-11
I mean the plot in the screenshot I took is 144000 samples. I want to plot this as 400 samples in separate windows.
sound=structWheeze(2,1).SoundData;
for i=1:200:144000
first=sound(i:i+399);
end
plot(first)
I tried this code but it didn't work

请先登录,再进行评论。

回答(1 个)

Star Strider
Star Strider 2021-4-11
编辑:Star Strider 2021-4-11
If ‘y’ is the signal, and you have the Signal Processing Toolbox, use the buffer function:
framelen = 400;
frames = buffer(y, framelen);
The ‘frames’ variable is a (400x360) matrix, and each column is a non-overlapping segment of ‘y’ that is 400 samples in length. It would also be possible to use the reshape function, however buffer is the easier option.
To plot them, simply plot each column.
EDIT —
The loop posted in the Comment would indicate that the plots would have 50% overlap, since the segment indices would be:
1 400
201 600
401 800
601 1000
801 1200
and so to the end of the file. The buffer function can also do that.
  4 个评论
furkan akhan
furkan akhan 2021-4-11
Thanks a lot but i wanna ask you a question again. How can I plot these 400x360 data in separate windows? To examine each sample of 400.
Star Strider
Star Strider 2021-4-11
There are at least two options:
for k = 1:size(frames,2)
figure
plot(frames(:,k)) % Plot Each In Separate Figure
end
or:
for k1 = 1:fix(size(frames,2)/10)
figure
for k2 = 1:10 % 36 Figures With 10 subplot Axes Each
subplot(5,2,k2)
plot(frames(:,k2+10*(k1-1)))
title(sprintf('Column %3d', k2+10*(k1-1)))
end
end
and any number of variations on the subplot version. Experiment to get the result you want.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by