plotting a beat frequency
26 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
justin stephens
am 7 Feb. 2018
Kommentiert: Star Strider
am 7 Feb. 2018
well folks i am having an issue with plotting a beat frequency fc is the central freq, fdel is the freq deviation, F is the sampling rate, and dur is the duration. here is the code.
if true
% code
end
function x = beatfreq(fc,fdel,F,dur)
t = [0:F:dur]; % time index
x = cos(2*pi*(fc+fdel)*t)+ cos(2*pi*(fc-fdel)*t);
plot(t,x); % plot signal
axis([0 127 -20 20]);
title('Sinusoidal signal x(t)');
xlabel('Time t (sec)');
ylabel('Amplitude');
grid on;
sound(x);
end
the problem i am having is that there is no plot in the figure or no sound. so would one of you more knowledgeable folks steer me in the right direction? also please ignore the if true %code end, that is not part of the code.
0 Kommentare
Akzeptierte Antwort
Star Strider
am 7 Feb. 2018
You need to tweak your function just a bit, changing sound to soundsc, and add the sampling frequency to it as the second argument. Note that ‘F’ is the sampling interval in the context of the way you have assigned ‘t’, not the sampling frequency.
Try this:
function x = beatfreq(fc,fdel,F,dur)
t = [0:F:dur]; % time index
x = cos(2*pi*(fc+fdel)*t)+ cos(2*pi*(fc-fdel)*t);
plot(t,x); % plot signal
axis([0 127 -20 20]);
title('Sinusoidal signal x(t)');
xlabel('Time t (sec)');
ylabel('Amplitude');
grid on;
soundsc(x, 1/F);
end
Call it as:
z = beatfreq(3000, 500, 0.001, 15);
to see and hear it work correctly.
6 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Signal Processing Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!