Line 92: | Line 92: | ||
sound(x,freq) | sound(x,freq) | ||
− | |||
+ | ===Answer 7=== | ||
+ | - The sampling rate should be atlease 880Hz (Nyquist Rate) | ||
+ | :- let rate=5000 | ||
+ | - Constructing sine wave | ||
+ | :- t = 0:(1/rate):1; | ||
+ | :- A=cos(440*2*pi*t); | ||
+ | |||
+ | - Playing the sound | ||
+ | :- sound(A,rate) | ||
+ | |||
+ | |||
+ | ---- | ||
[[2011_Fall_ECE_438_Boutin|Back to ECE438 Fall 2011 Prof. Boutin]] | [[2011_Fall_ECE_438_Boutin|Back to ECE438 Fall 2011 Prof. Boutin]] |
Revision as of 19:37, 6 September 2011
Contents
Sampling of an A 440
Explain how one can use MATLAB to play an A 440. Discuss your choice of sampling rate. (Feel free to post a sound file of your output.)
You will receive feedback from your instructor and TA directly on this page. Other students are welcome to comment/discuss/point out mistakes/ask questions too!
Answer 1
The signal we want is $ x(t) = cos(440 * 2\pi) $.
We can first create a vector of sample times. In this case, we'll let the sample frequency be 1320 Hz over a sample interval of [0,1]
t = 0:(1/1320):1;
Next, we can generate the sound samples vector from the sample times vector.
y = cos(440*2*pi*t);
Finally, we play the signal by using the "sound" command, which needs the user to specify the sound vector and the sample rate of that vector. Our sample was 1320.
sound(y, 1320);
The sample frequency was chosen so that it was more than twice the note frequency, so that the signal could be completely recovered from this sample.
- Instructor's comments: Did you actually try it in MATLAB? Did it work? -pm
Answer 2
I chose the sample rate to be 1/1000.
n = 1:10000;
x = cos(2*pi*400*n/1000);
x = x';
sound(x)
Answer 3
% The following script plays a pure note A-440.
% It provides an adjustable sampling rate.
sampling_rate = 1500;
% Sampling rate should be larger than Nyquist Rate, i.e. 880Hz in this case.
t = 1:(1/sampling_rate):3;
x = cos(2*pi*440*t);
sound(x,sampling_rate);
%Code had been verified on MATLAB R2010b
Answer 4
rate=1/1000 t=0:rate:5; x=cos(440*2*pi*t); sound(x,1/rate)
the code works
Answer 5
samplerate=1/44100;
t1=0:samplerate:5;
x=cos(440*2*pi*t1);
sound(x,1/samplerate);
I just picked the sampling rate
because it is most commonly used rate for digital audio such as MP3.
This sampling rate is sufficient for anything in the hearing range.
Answer 6
To play a pure tone of 440 Hz, a sampling rate of only at least 2*440 = 880 Hz is needed.
However for humans to pick up the entire contribution of the signal harmonics, a sampling rate of 44.1 kHz should be used. This types out in matlab to
freq = 44100;
t=0:(1/freq):3; %for a tone of 3 second duration
x = cos(2*pi*440*t);
sound(x,freq)
Answer 7
- The sampling rate should be atlease 880Hz (Nyquist Rate)
- - let rate=5000
- Constructing sine wave
- - t = 0:(1/rate):1;
- - A=cos(440*2*pi*t);
- Playing the sound
- - sound(A,rate)