Plotting and finding the magnitude of a wav file in MATLAB[edited]

Edited: Changed code to a more correct version!
The question was;

Load the file sound1.wav(Download from here => SoundWav (176) ) (You would use MATLAB command ‘wavread’ to loadthis file. Use MATLAB help to learn the usage of ‘wavread’). This file contains a portion of speech waveform. Take the first 512 point the signal, plot the waveformand its magnitude spectrum.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
%call it like question_8('sound1.wav')
function question_8(url)
[x,fs]=wavread(url);
new_x=x(1:512);
subplot(2,1,1);
stem(new_x);
title('The sampled sound signal');
xlabel('time'), ylabel('amplitude');
grid on;
hold on
 
 
subplot(2,1,2)
N=(fs/2)*linspace(-1,1,length(x));
stem(N,fftshift(abs(fft(new_x))));
 
title('Sampled signal at frequency-domain');
xlabel('frequency'), ylabel('amplitude');
grid on;
end

Fork me on GitHub

Sampling of a Sinusoidal Signal and finding the DTFT [edited]

The question was :

Write a MATLAB function, x = SinSamples(A, w, θ, d, ws), that generates a discrete-time sinusoidal signal x[n] obtained by sampling x(t), (Assume that x(t) is a sinusoidal segment with amplitude A, frequency ω, phase θ and duration ), with sampling frequency ω_s.

function SinSamples(A,w,teta,d,w_s)
 
clc;
fprintf(' This program will read and sample a sin signal.\n The parameters are amplitude A , frequency w , phase "teta" and d for duration. \n This program was written for the Ele 409 DSP Lab course. \n By = John Roach \n\n');
 
pause(2);
 
f = w/(2*pi);
T = 1/f;
tmin = 0;
dt = T/100;
dt1 = 1/(w_s/(2*pi));
t = tmin:dt:d;
t1 = tmin:dt1:d;
x = A*sin(w*t+teta);
x1 = A*sin(w*t1+teta);
subplot(2,1,1);
plot(t,x,'r');
hold on
stem(t1,x1);
title('The sampled and original signal');
xlabel('frequency'), ylabel('amplitude');
grid on;
hold on
 
subplot(2,1,2)
 
N=(fs/2)*linspace(-1,1,length(x1));
stem(N,fftshift(abs(fft(x1))));
title('Sampled signal at frequency-domain');
xlabel('frequency'), ylabel('amplitude');
grid on;

For sample code ;

SinSamples(1,2*pi*1000,pi/6,0.002,2*pi*16000)

The output is;

This program will read sample a sin signal. The parameters are amplitude A , frequency w , phase "teta" and d for duration.  This program was written for the Ele 409 DSP Lab course.  By = John Roach

and;

From the beginning please

Hi there. Summer over and so is my work with the company RENKO ITH.  IHR. LTD. STI.. Worked for peanuts doing lots. Proud of it. Paid my school tuition with the peanuts. I think this makes my school a three ring circus :D .

Work was good and honest in RENKO. I wore three hats at all times ;

Continue reading