Filter löschen
Filter löschen

how do Create a message signal m(t) = cos(2πfmt), fm = 5 KHz. and Plot the signal both in time domain and the magnitude of its spectrum in frequency domain?

12 Ansichten (letzte 30 Tage)
how do Create a message signal m(t) = cos(2πfmt), fm = 5 KHz. and Plot the signal both in time domain and the magnitude of its spectrum in frequency domain?
My code is below for time domain
>> fm = 5000;
>> t = 0: 0.01: 10;
>> y = cos(2*pi*fm*t)
>> plot(t,y)
I just get a straight line???

Antworten (5)

Rick Rosson
Rick Rosson am 31 Mär. 2013
Bearbeitet: Rick Rosson am 31 Mär. 2013
The sampling rate that you are using is 100 samples per second, whereas the carrier frequency of the message signal is 5,000 hertz. According to the Nyquist Sampling Theorem, you need a sampling rate that is at leat twice the highest frequency that you want to represent. So, in this example, you need a sampling rate of at least 10,000 samples per second.
Let's try 800,000 samples per second, and see if it helps:
Fs = 800e3;
dt = 1/Fs;
t = (0:dt:0.002-dt)';
Fm = 5000;
y = cos(2*pi*Fm*t);
figure;
plot(t,y);
  2 Kommentare
Ankit Ghosh
Ankit Ghosh am 20 Aug. 2017
I think it is the other way round. May you please check if my understanding is wrong or you mistyped ?
Ankit Ghosh
Ankit Ghosh am 20 Aug. 2017
Bearbeitet: Ankit Ghosh am 20 Aug. 2017
fs = 1e3;
dt = 1/fs;
t = (0:0.001:10)';
fm = 2e3;
sig = sin(2*pi*fm/fs*t);
plot(t,sig);
title('sin wave with 1KHz sampling rate')
This is working perfectly fine for me as per the text book equations.

Melden Sie sich an, um zu kommentieren.


RISET
RISET am 15 Jan. 2017
Bearbeitet: RISET am 15 Jan. 2017
as fm =5000 ; so (fm*t)=an integer; for cos(2*pi*n) value is always=0; so try to change it to some other values like 4999 or 3479 or 23 or 5 ;yes for fm = 5947; t = 0: 0.01:1; y = cos(2*pi*fm*t); plot(t,y) u will see the graphs cosine nature is lost it is due to the t intervals u have taken .try to change them as small as possible ....like fm = 5947; t = 0: 0.001:.1; y = cos(2*pi*fm*t); plot(t,y) u will see what u want....{i have not maintained the desired frequency but try to conceptualise what nyquist rate leading towards)...

Jayram Naykinde
Jayram Naykinde am 25 Okt. 2021
perform Sampling of a signal
clc;
clear all;
close all;
f0=3;
fs=10;
T=1/f0;
t=0:0.001:5*T;
x_t=cos(2*pi*3*t);
Ts=1/fs;
n=0:Ts:5*T;
x_n=cos(2*pi*f0*n);
subplot(2,1,1)
plot(t,x_t,'-.');
xlabel('Time')
ylabel("x(t)")
subplot(2,1,2) stem(n,x_n,"filled"); xlabel('Time') ylabel("x(n)")

azad Thanveer
azad Thanveer am 2 Jun. 2022
>> fm = 5000; >> t = 0: 0.01: 10; >> y = cos(2*pi*fm*t) >> plot(t,y)

azad Thanveer
azad Thanveer am 2 Jun. 2022
fm = 5000;
>> t = 0: 0.01: 10;
>> y = cos(2*pi*fm*t)
>> plot(t,y)

Community Treasure Hunt

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

Start Hunting!

Translated by