Representing samples on analog signal according to the sample period (MATLAB)

조회 수: 6 (최근 30일)
high speed
high speed 2022년 11월 30일
댓글: Star Strider 2022년 11월 30일
Dear,
I have this analog signal y from this code:
load handel.mat
filename = 'handel.wav';
audiowrite(filename,y,Fs);
[y,Fe]=audioread('handel.wav');
[N,p]=size(y);
Te=1/Fe;
t=(0:N-1)*Te;
plot(t,y)
Te here is 1.22e-04 in xlabel
The purpose is to represent a sample on the plot according to each value of Te. It means we represent the first sample in Te=1.22e-04 than the second sample in Te=(1.22e-04)*2 ...etc.
How can I do that please!

답변 (1개)

Star Strider
Star Strider 2022년 11월 30일
The easiest way to create the time vector is:
t = linspace(0, L-1, L)/Fe;
Example —
LD = load('handel.mat');
y = LD.y;
Fe = LD.Fs;
L = size(y,1);
t = linspace(0, L-1, L)/Fe;
figure
plot(t, y)
grid
xlabel('Time (sec)')
ylabel('Amplitude (mV)')
xlim([min(t) max(t)])
Create whatever sort of plot you need to in order to complete your assignment.
.
  댓글 수: 2
high speed
high speed 2022년 11월 30일
@Star Strider But this program doesn't represent the samples in the figure !
Star Strider
Star Strider 2022년 11월 30일
Yes, it does!
What do you want to do with that file?
Consider this —
LD = load('handel.mat');
y = LD.y;
Fe = LD.Fs;
L = size(y,1);
t = linspace(0, L-1, L)/Fe;
figure
stairs(t, y)
grid
xlabel('Time (sec)')
ylabel('Amplitude (mV)')
xlim([2.74 2.76])
ylim([-1 1]*0.8)
% xlim([min(t) max(t)])
Create whatever sort of plot you need to in order to complete your assignment.
.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by