Carrier Synchronization Code for AM Modulation

3 views (last 30 days)
Hari Ijjada
Hari Ijjada on 26 Nov 2019
Answered: Hari on 14 Feb 2025 at 8:41
i am trying to develop the code for carrier Synchronization in Amplitude Modulation(AM).
Does anybody have anyidea how to develop this code ?
Does anybody have pdf to follow the process to implement the algorithm ?
Does anybody have any code to do it ?

Answers (1)

Hari
Hari on 14 Feb 2025 at 8:41
Hi Hari,
I understand that you are looking to develop code for carrier synchronization in Amplitude Modulation (AM) and are seeking guidance or resources to implement this algorithm.
In order to develop carrier synchronization for AM modulation, you can follow the below steps:
Generate AM Signal:
Create a modulated AM signal using a known carrier frequency.
fs = 1000; % Sampling frequency
fc = 100; % Carrier frequency
t = 0:1/fs:1-1/fs; % Time vector
x = cos(2*pi*10*t); % Message signal
amSignal = (1 + x) .* cos(2*pi*fc*t); % AM signal
Add Noise (Optional):
Introduce noise to the signal to simulate real-world scenarios.
noisySignal = amSignal + 0.1*randn(size(amSignal)); % Additive white Gaussian noise
Estimate Carrier Frequency:
Use techniques like the "fft" to estimate the carrier frequency from the received signal.
Y = fft(noisySignal);
[~, idx] = max(abs(Y));
estimatedFc = (idx-1) * fs / length(Y); % Estimate carrier frequency
Carrier Recovery:
Generate a synchronized carrier using the estimated frequency.
recoveredCarrier = cos(2*pi*estimatedFc*t); % Synchronized carrier
Demodulate the Signal:
Use the synchronized carrier to demodulate the AM signal.
demodulatedSignal = noisySignal .* recoveredCarrier;
demodulatedSignal = lowpass(demodulatedSignal, fc, fs); % Low-pass filter
Refer to the documentation of "fft" function for more information: https://www.mathworks.com/help/matlab/ref/fft.html
Refer to the documentation of "lowpass" function for filtering details: https://www.mathworks.com/help/signal/ref/lowpass.html
Hope this helps!

Community Treasure Hunt

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

Start Hunting!