Clear Filters
Clear Filters

AM Demodulation code error

1 view (last 30 days)
Matt
Matt on 14 Dec 2023
Commented: Image Analyst on 14 Dec 2023
f_lo = 30e3; % frequency of local oscillator
A_lo = 1; % amplitude of local oscillator
y_lo = A_lo*sin(2*pi*f_lo*time');
y_demod = y_lo.*filt_received;
demod_sig_FD = fft(y_demod); % calculate frequency domain of audio
demod_sig_FD_amp = abs(demod_sig_FD)/no_of_pnts; % calculate the amplitude of frequency domain
demod_sig_FD_amp_adj = fftshift(demod_sig_FD_amp); % adjust the frequency sides
figure;
semilogy(freq, filt_rec_sig_FD_amp_adj, 'b');
hold on;
semilogy(freq, demod_sig_FD_amp_adj, 'r');
xlim([10, freq_max]);
grid minor;
box on;
xlabel('Frequency (Hz)');
ylabel('Amplitude');
legend('Filtered Received', 'Demodulated');
title('Frequency Domain of Filtered Received and Demodulated Signals');
Error is y_demod = y_lo.*filt_received;
Arrays have incompatible sizes for this operation.
  2 Comments
Sulaymon Eshkabilov
Sulaymon Eshkabilov on 14 Dec 2023
These vars are not given: time, filt_received, no_of_pnts, freq, filt_rec_sig_FD_amp_adj
Image Analyst
Image Analyst on 14 Dec 2023
This is a duplicate post. I already have an Answer posted in the other one.
Are they 100% duplicates, or is one somehow better than the other? Regardless, the answer I started there is still valid.
Which one do you want to continue the conversation in? I can delete the other one.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!