demod
Demodulación para la simulación de comunicaciones
Descripción
Ejemplos
Modulación y demodulación de la frecuencia
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')
Argumentos de entrada
y
— Señal modulada
vector real | matriz real
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
.
fc
— Frecuencia portadora
escalar real positivo
Frecuencia portadora utilizada para modular la señal del mensaje, especificada como un escalar real positivo.
fs
— Tasa de muestreo
escalar real positivo
Tasa de muestreo, especificada como un escalar real positivo.
method
— Método de modulación utilizado
'am'
(predeterminado) | 'amdsb-tc'
| 'amssb'
| 'fm'
| 'pm'
| 'pwm'
| 'ppm'
| 'qam'
Método de modulación utilizado, especificado como uno de los siguientes:
am
oamdsb-sc
: demodulación de amplitud, doble banda lateral, portadora suprimida. Multiplicay
por una sinusoide de frecuenciafc
y aplica un filtro Butterworth de paso bajo de quinto orden utilizandofiltfilt
.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. Multiplicay
por una sinusoide de frecuenciafc
y aplica un filtro Butterworth de paso bajo de quinto orden utilizandofiltfilt
.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 escalaropt
dex
. El valor predeterminado deopt
es 0.amssb
: demodulación de amplitud, banda lateral única. Multiplicay
por una sinusoide de frecuenciafc
y aplica un filtro Butterworth de paso bajo de quinto orden utilizandofiltfilt
.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 dey
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 dex
.modulate
utilizaopt
como constante de la modulación de frecuencia. Si no se especifica el parámetroopt
,modulate
utiliza un valor predeterminado deopt = (fc/fs)*2*pi/(max(max(x)))
para que la excursión de frecuencia máxima defc
sea defc
Hz.pm
: demodulación de fase. Demodula la forma de onda PM modulando la transformada de Hilbert dey
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
utilizaopt
como la constante de modulación de fase. Si no se especifica el parámetroopt
,modulate
utiliza un valor predeterminado deopt = 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 pulsoy
.demod
devuelve enx
un vector cuyos elementos especifican el ancho de cada pulso en fracciones de un periodo. Los pulsos eny
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 dey
eslength(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 pulsosy
. Para una correcta demodulación, los pulsos no pueden solaparse.x
es la longitudlength(t)*fc/fs
.qam
: demodulación de amplitud en cuadratura.[x1,x2] = demod(y,fc,fs,'qam')
multiplicay
por un coseno y un seno de frecuenciafc
y aplica un filtro Butterworth de paso bajo de quinto orden utilizandofiltfilt
.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 quey
.
opt
— Entrada opcional para algunos métodos
vector real
Entrada opcional, especificada para algunos métodos. Consulte method
para obtener más información acerca de cómo utilizar opt
.
Argumentos de salida
x
— Señal de mensaje demodulada
vector real | matriz real
Señal de mensaje demodulada, devuelta como vector o matriz real.
Historial de versiones
Introducido antes de R2006a
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)