Matlab - programa MATLAB que calcule la suma y el producto de dos señales periódicas sinusoidales

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 9 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

programa MATLAB que calcule la suma y el producto de dos señales periódicas sinusoidales

Publicado por Luisa (6 intervenciones) el 08/02/2021 13:00:58
Se desea realizar un programa MATLAB que calcule la suma y el producto de dos señales periódicas sinusoidales, muestreadas con una frecuencia de 1000 muestras/sec durante un intervalo de 10 sec.

En primer lugar, el programa creará un vector t conteniendo los instantes de muestreo (1000 muestras/sec durante un intervalo de 10 sec) y posteriormente leerá los valores numéricos correspondientes al muestreo de cada una de las dos señales periódicas en esos instantes de tiempo (para facilitar el examen, el profesor suministrará los vectores Senal1 y Senal2).

* Senal1 y Senal2 son de 1x12000

El código que genero es
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clc; clear all;close
% frecuencia 1000 muestras/sec durante 10 sec.
t=linspace(0,10,1000);
 
load Senal1.mat
load Senal2.mat
 
A=Senal1;
B=Senal2;
for i=1:length(t)
    A=A(i);
    B=B(i);
end
figure(1)
plot(A)
figure(2)
plot(B)

¿Cómo hago que las señales se maestreen en ese vector t?

Gracias de antemano.
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 Jon
Val: 354
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

programa MATLAB que calcule la suma y el producto de dos señales periódicas sinusoidales

Publicado por Jon (161 intervenciones) el 10/02/2021 13:19:11
Buenos días Luisa,

Tras investigar un poco, aquí tienes el problema resuelto.

Espero que te sirva de ayuda.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
%% Datos
load Senal1.mat
load Senal2.mat
 
tIni = 0; tEnd = 10; Nmuestras = 1000*tEnd;
t = linspace(tIni,tEnd,Nmuestras);
 
Npuntos = length(Senal1);
 
%% Muestreo de las señales
originalFs  = Npuntos   / tEnd;
desiredFs   = Nmuestras / tEnd;
[p, q]      = rat(desiredFs / originalFs)
 
Tx1     = 0 : 1/originalFs : tEnd; Tx1(end) = [];
Tx2     = 0 : 1/originalFs : tEnd; Tx2(end) = [];
x1      = Senal1;
x2      = Senal2;
y1      = resample(x1,p,q);
y2      = resample(x2,p,q);
Ty1     = (0:numel(y1)-1)/desiredFs;
Ty2     = (0:numel(y2)-1)/desiredFs;
 
%% Gráfico
% Señal 1
figure;
plot(Tx1,x1,'. ');
hold on;
plot(Ty1,y1,'o ');
grid on;
title('Señal 1');
legend('Original','Resampled');
 
% Señal 2
figure;
plot(Tx2,x2,'. ');
hold on;
plot(Ty2,y2,'o ');
grid on;
title('Señal 2');
legend('Original','Resampled');
 
% Suma de señales
figure;
plot(Ty1+Ty2,Ty1+y2,'o ');
grid on;
title('Suma de señales');
legend('Resampled');
 
% Multiplicación de señales
figure;
plot(Ty1.*Ty2,Ty1.*y2,'o ');
grid on;
title('Multiplicación de señales');
legend('Resampled');

Ayuda de MATLAB: https://es.mathworks.com/help/signal/examples/resampling-uniformly-sampled-signals.html

Un saludo,

Jon
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