Communications Toolbox    
ademodce

Analog baseband demodulator

Syntax

Optional Inputs

Input
Default Value, or Default Behavior If Input Is Omitted
offset
Appropriate value so that each output signal has zero mean
num, den
Omitting these arguments prevents ademodce from using a filter.
vcoconst
1

Description

The function ademodce performs analog baseband demodulation. The corresponding modulation function is amodce. The table below lists the demodulation schemes that ademodce supports.

Demodulation Scheme
Third Input Argument
Amplitude demodulation
'amdsb-tc' or 'amdsb-tc/costas'
Amplitude demodulation, double sideband suppressed carrier
'amdsb-sc' or 'amdsb-sc/costas'
Amplitude demodulation, single sideband suppressed carrier
'amssb'
Quadrature amplitude demodulation
'qam'
Frequency demodulation
'fm'
Phase demodulation
'pm'

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:

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,'amdsb-tc',offset,num,den) implements double-sideband amplitude demodulation. 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,'amdsb-tc/costas',offset,num,den) is the same as the syntax above, except that the algorithm includes a Costas phase-locked loop.

z = ademodce(y,Fs,'amdsb-sc',num,den) implements double-sideband suppressed-carrier amplitude demodulation.

z = ademodce(y,Fs,'amdsb-sc/costas',num,den) is the same as the syntax above, except that the algorithm includes a Costas phase-locked loop.

z = ademodce(y,Fs,'amssb',num,den) implements single-sideband suppressed-carrier amplitude demodulation.

z = ademodce(y,Fs,'qam',num,den) implements quadrature amplitude demodulation.

z = ademodce(y,Fs,'fm',num,den,vcoconst) implements frequency demodulation. The optional argument vcoconst is a scalar that represents the VCO constant in the demodulation.

z = ademodce(y,Fs,'pm',num,den,vcoconst) implements phase demodulation. The optional argument 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.

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