Matlab - Potencia canal adyacente

 
Vista:

Potencia canal adyacente

Publicado por José Manuel (4 intervenciones) el 11/11/2004 20:26:02
Hola, q tal! Os escribo a ver si podeis resolverme una duda. Resulta que estoy intentando representar la potencia de salida de un sistema en función de la de entrada. Lo q tengo para ello es un vector de tamaño 1x4096 de datos de entrada y otro vector del mismo tamaño para los de salida. Pues bien, esto sí lo represento bien.

El problema aparece cuando he de representar lo mismo para el canal adyacente (el cual se ve reflejado en una PSD q represnto con anterioridad). ¿Cómo consigo representar esto teniendo en cuenta q sólo tengo los vectores, pero no los tengo en función de la frecuencia?

Gracias a todos!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Representación de potencia de salida vs. Potencia de entrada en el dominio de la frecuencia

Publicado por Alejandro (145 intervenciones) el 05/10/2023 23:44:34
¡Hola José! Entiendo tu pregunta. Para representar la relación entre la potencia de salida y la potencia de entrada en el dominio de la frecuencia, puedes utilizar la Transformada de Fourier. En Matlab, puedes hacer esto utilizando la función `fft`.

Aquí hay un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
% Datos de entrada y salida
datos_entrada = tu_vector_de_datos_de_entrada; % Reemplaza con tus datos
datos_salida = tu_vector_de_datos_de_salida;   % Reemplaza con tus datos
 
% Calcular la Transformada de Fourier de los datos
fft_entrada = fft(datos_entrada);
fft_salida = fft(datos_salida);
 
% Calcular la potencia espectral (PSD) de entrada y salida
psd_entrada = abs(fft_entrada).^2;
psd_salida = abs(fft_salida).^2;
 
% Frecuencias correspondientes
frecuencias = (0:length(datos_entrada)-1)*(1/(length(datos_entrada)*t_muestreo)); % Ajusta según tu frecuencia de muestreo
 
% Visualizar los resultados
figure;
subplot(2,1,1);
plot(frecuencias, 10*log10(psd_entrada));
title('PSD de Entrada');
xlabel('Frecuencia (Hz)');
ylabel('Potencia Espectral (dB)');
 
subplot(2,1,2);
plot(frecuencias, 10*log10(psd_salida));
title('PSD de Salida');
xlabel('Frecuencia (Hz)');
ylabel('Potencia Espectral (dB)');

Este código calcula la Transformada de Fourier de los datos de entrada y salida, y luego calcula la potencia espectral (PSD) en dB. Asegúrate de ajustar `t_muestreo` a la frecuencia de muestreo de tus datos.

Si solo estás interesado en el canal adyacente, también puedes ajustar las frecuencias y las PSD para que se centren en el rango relevante.

Espero que esto te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar