Main Content

demod

Demodulación para la simulación de comunicaciones

Descripción

ejemplo

x = demod(y,fc,fs,method) demodula la señal portadora real y con una frecuencia portadora fc y una tasa de muestreo fs utilizando el método especificado en method.

x = demod(y,fc,fs,method,opt) demodula la señal portadora real y utilizando las opciones adicionales especificadas en opt.

Ejemplos

contraer todo

Genere una sinusoide de 150 Hz muestreada a 8 kHz durante 1 segundo. Introduzca la señal modulada en ruido blanco gaussiano de varianza 0,1².

fs = 8e3;

t = 0:1/fs:1-1/fs;
s = cos(2*pi*150*t) + randn(size(t))/10;

Module en frecuencia la señal a una frecuencia portadora de 3 kHz utilizando una constante de modulación de 0,1.

fc = 3e3;
rx = modulate(s,fc,fs,'fm',0.1);

Demodule en frecuencia la señal utilizando la misma frecuencia de la portadora y la misma constante de modulación. Calcule y represente las estimaciones del espectro de potencia de las señales transmitidas, recibidas y demoduladas.

y = demod(rx,fc,fs,'fm',0.1);

pspectrum([s;rx;y]',fs,'Leakage',0.85)

legend('Transmitted signal','Received signal','Demodulated signal','Location','best')

Figure contains an axes object. The axes object with title Fres = 7.8144 Hz contains 3 objects of type line. These objects represent Transmitted signal, Received signal, Demodulated signal.

Argumentos de entrada

contraer todo

Señal de mensaje modulada, especificada como vector o matriz real. A excepción de los métodos pwm y ppm, y tiene el mismo tamaño que x.

Frecuencia portadora utilizada para modular la señal del mensaje, especificada como un escalar real positivo.

Tasa de muestreo, especificada como un escalar real positivo.

Método de modulación utilizado, especificado como uno de los siguientes:

  • am o amdsb-sc: demodulación de amplitud, doble banda lateral, portadora suprimida. Multiplica y por una sinusoide de frecuencia fc y aplica un filtro Butterworth de paso bajo de quinto orden utilizando filtfilt.

    x = y.*cos(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x = filtfilt(b,a,x);
  • amdsb-tc: demodulación de amplitud, doble banda lateral, portadora transmitida. Multiplica y por una sinusoide de frecuencia fc y aplica un filtro Butterworth de paso bajo de quinto orden utilizando filtfilt.

    x = y.*cos(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x = filtfilt(b,a,x);

    Si especifica opt, demod resta el escalar opt de x. El valor predeterminado de opt es 0.

  • amssb: demodulación de amplitud, banda lateral única. Multiplica y por una sinusoide de frecuencia fc y aplica un filtro Butterworth de paso bajo de quinto orden utilizando filtfilt.

    x = y.*cos(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x = filtfilt(b,a,x);
  • fm: demodulación de la frecuencia. Demodula la forma de onda FM modulando la transformada de Hilbert de y por una exponencial compleja de frecuencia -fc Hz y obtiene la frecuencia instantánea del resultado.

    y=cos(2*pi*fc*t + opt*cumsum(x))

    cumsum es una aproximación rectangular de la integral de x. modulate utiliza opt como constante de la modulación de frecuencia. Si no se especifica el parámetro opt, modulate utiliza un valor predeterminado de opt = (fc/fs)*2*pi/(max(max(x))) para que la excursión de frecuencia máxima de fc sea de fc Hz.

  • pm: demodulación de fase. Demodula la forma de onda PM modulando la transformada de Hilbert de y por una exponencial compleja de frecuencia -fc Hz y obtiene la fase instantánea del resultado.

    y=cos(2*pi*fc*t + opt*x)

    modulate utiliza opt como la constante de modulación de fase. Si no se especifica el parámetro opt, modulate utiliza un valor predeterminado de opt = pi/(max(max(x))) para que la excursión de fase máxima sea de π radianes.

  • pwm: demodulación por ancho de pulso. Busca los anchos de pulso de una señal modulada por ancho de pulso y. demod devuelve en x un vector cuyos elementos especifican el ancho de cada pulso en fracciones de un periodo. Los pulsos en y deben comenzar al principio de cada periodo de la portadora, es decir, deben estar justificados a la izquierda. modulate(x,fc,fs,'pwm','centered') produce pulsos centrados en el inicio de cada periodo. La longitud de y es length(x)*fs/fc.

  • ppm: demodulación de la posición de los pulsos. Busca las posiciones de los pulsos de una señal modulada por posición de pulsos y. Para una correcta demodulación, los pulsos no pueden solaparse. x es la longitud length(t)*fc/fs.

  • qam: demodulación de amplitud en cuadratura. [x1,x2] = demod(y,fc,fs,'qam') multiplica y por un coseno y un seno de frecuencia fc y aplica un filtro Butterworth de paso bajo de quinto orden utilizando filtfilt.

    x1 = y.*cos(2*pi*fc*t);
    x2 = y.*sin(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x1 = filtfilt(b,a,x1);
    x2 = filtfilt(b,a,x2);

    El argumento de entrada opt debe tener el mismo tamaño que y.

Entrada opcional, especificada para algunos métodos. Consulte method para obtener más información acerca de cómo utilizar opt.

Argumentos de salida

contraer todo

Señal de mensaje demodulada, devuelta como vector o matriz real.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox)