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

1 view (last 30 days)
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!

Answers (1)

Star Strider
Star Strider on 30 Nov 2022
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 Comments
Star Strider
Star Strider on 30 Nov 2022
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.
.

Sign in to comment.

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!