Communications Toolbox | ![]() ![]() |
Syntax
z = ademodce(y,Fs,'
amdsb-tc
'
,offset,num,den); z = ademodce(y,Fs,'
amdsb-tc/costas
'
,offset,num,den); z = ademodce(y,Fs,'
amdsb-sc
'
,num,den); z = ademodce(y,Fs,'
amdsb-sc/costas
'
,num,den); z = ademodce(y,Fs,'
amssb
'
,num,den); z = ademodce(y,Fs,'
qam
'
,num,den); z = ademodce(y,Fs,'
fm
'
,num,den,vcoconst); z = ademodce(y,Fs,'
pm
'
,num,den,vcoconst); z = ademodce(y,[Fs initphase],...);
Optional Inputs
Description
The function ademodce
performs analog baseband demodulation. The corresponding modulation function is amodce
. The table below lists the demodulation schemes that ademodce
supports.
For All Syntaxes
The generic syntax z = ademodce(y,Fs,...)
demodulates the received signal that y
represents. Fs
is the sampling rate in hertz. The initial phase of the carrier signal is zero. y
is a complex matrix and z
is a real matrix. Their sizes depend on the demodulation method:
y
is a vector of length n, then z
is an n-by-2 matrix. Otherwise, if y
is n-by-m, then z
is n-by-2m and each column of y
is processed separately. The odd-numbered columns in z
represent in-phase components and the even-numbered columns represent quadrature components.
y
and z
have the same dimensions. If y
is a two-dimensional matrix, then each column of y
is processed separately.
The generic syntax z = ademodce(y,[Fs initphase],...)
is the same, except that the second input argument is a two-element vector instead of a scalar. The first entry, Fs
, is the sampling rate as described in the paragraph above. The second entry, initphase
, is the initial phase of the carrier signal, measured in radians.
To use a lowpass filter in the demodulation, include num
and den
in the list of input arguments. num
and den
are row vectors that give the coefficients, in descending order, of the numerator and denominator of the filter's transfer function. If num
is empty, zero, or absent, then ademodce
does not use a filter.
For Specific Syntaxes
z = ademodce(y,Fs,
implements double-sideband amplitude demodulation. '
amdsb-tc
'
,offset,num,den)
offset
is a vector whose kth entry is subtracted from the kth column of demodulated data. If offset
is empty, then by default z
is adjusted so that each column has mean zero (or so that z
has mean zero in case z
is a vector).
z = ademodce(y,Fs,
is the same as the syntax above, except that the algorithm includes a Costas phase-locked loop.'
amdsb-tc/costas
'
,offset,num,den)
z = ademodce(y,Fs,
implements double-sideband suppressed-carrier amplitude demodulation.'
amdsb-sc
'
,num,den)
z = ademodce(y,Fs,
is the same as the syntax above, except that the algorithm includes a Costas phase-locked loop.'
amdsb-sc/costas
'
,num,den)
z = ademodce(y,Fs,
implements single-sideband suppressed-carrier amplitude demodulation.'
amssb
'
,num,den)
z = ademodce(y,Fs,
implements quadrature amplitude demodulation.'
qam
'
,num,den)
z = ademodce(y,Fs,
implements frequency demodulation. The optional argument '
fm
'
,num,den,vcoconst)
vcoconst
is a scalar that represents the VCO constant in the demodulation.
z = ademodce(y,Fs,
implements phase demodulation. The optional argument '
pm
'
,num,den,vcoconst)
vcoconst
specifies the VCO constant in the demodulation.
Examples
The example below processes sine, cosine, and sawtooth signals simultaneously. All three signals have the same sampling rate and the same number of samples. The code also plots the original and demodulated signals.
Fs = 100; % Sampling rate of signal t = [0:1/Fs:5]'; % Times to sample the signals % Combine three signals into a three-column matrix. % Each signal occupies one column. x = [sin(2*pi*t), .5*cos(5*pi*t), sawtooth(4*t)]; y = amodce(x,Fs,'fm'); % Modulate. z = ademodce(y,Fs,'fm'); % Demodulate. plot(x); figure; plot(z); % Original and demodulated signals
Other examples using ademodce
are in the sections Simple Analog Modulation Example and Example: Time Lag From Filtering.
See Also
amodce
, dmodce
, ddemodce
, amod
, ademod
![]() | ademod | amod | ![]() |