z = amdemod(y,Fc,Fs)
z = amdemod(y,Fc,Fs,ini_phase)
z = amdemod(y,Fc,Fs,ini_phase,carramp)
z = amdemod(y,Fc,Fs,ini_phase,carramp,num,den)
z = amdemod(y,Fc,Fs) demodulates the amplitude modulated signal y from a carrier signal with frequency Fc (Hz). The carrier signal and y have sample frequency Fs (Hz). The modulated signal y has zero initial phase and zero carrier amplitude, so it represents suppressed carrier modulation. The demodulation process uses the lowpass filter specified by [num,den] = butter(5,Fc*2/Fs).
Note: The Fc and Fs arguments must satisfy Fs > 2(Fc + BW), where BW is the bandwidth of the original signal that was modulated.
z = amdemod(y,Fc,Fs,ini_phase) specifies the initial phase of the modulated signal in radians.
z = amdemod(y,Fc,Fs,ini_phase,carramp) demodulates a signal that was created via transmitted carrier modulation instead of suppressed carrier modulation. carramp is the carrier amplitude of the modulated signal.
The code below illustrates the use of a nondefault filter.
t = .01; Fc = 10000; Fs = 80000; t = [0:1/Fs:0.01]'; s = sin(2*pi*300*t)+2*sin(2*pi*600*t); % Original signal [num,den] = butter(10,Fc*2/Fs); % Lowpass filter y1 = ammod(s,Fc,Fs); % Modulate. s1 = amdemod(y1,Fc,Fs,0,0,num,den); % Demodulate.