displaying a sinusoidal wave
显示 更早的评论
This is for one assignment. The question is the following. Generate a time vector (tt) to cover a range of t that will exhibit approximately two cycles of the 4000 Hz sinusoids defined in the next part, part (b). Use a definition for tt similar to part 2.2(d). If we use T to denote the period of the sinusoids, define the starting time of the vector tt to be equal to −T, and the ending time as +T. Then the two cycles will include t = 0. Finally, make sure that you have at least 25 samples per period of the sinusoidal wave. In other words, when you use the colon operator to define the time vector, make the increment small enough to generate 25 samples per period.
This is my code.
if true
% code
tt = -1 : 1/4000 : 1;
y = sin( 2*pi*tt );
plot(4000*tt, y);
%<--- plot a sinusoid
title('TEST PLOT of a SINUSOID')
xlabel('frequency')
end
My problem is that I don't fully understand what a sample is so I can answer the last part. I know 1/4000 would be the sample frequency, unless I'm wrong. Can anybody explain what exactly is a sample in matlab?
I'm new to this forum.
采纳的回答
更多回答(2 个)
Image Analyst
2012-9-9
编辑:Image Analyst
2012-9-9
No. You're wrong. There are 4000 cycles (periods) in a second, so the period of one cycle (T) is 1/4000 of a second, not the sampling frequency. And you're supposed to have 25 samples spanning that time period. Why not use linspace:
t = linspace(-T, T, 50); % 50 samples covering two periods from -T to T.
1 个评论
Image Analyst
2012-9-9
编辑:Image Analyst
2012-9-9
Close (referring to your "Answer" below). Almost right but not quite. You should know that the equation for a cosine is cos(2 * pi * t / period). So try this:
y = cos(2*pi*tt/T);
类别
在 帮助中心 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!