Está en la página 1de 2

% Configuración de la DAQ

dq = daq('ni');

addinput(dq, 'myDAQ1', 'ai0', 'Voltage');

Fs = 200e3;

dq.Rate = Fs;

disp('Configuración de la daq terminada...');

%%

% Adquisición de la señal

time = 10;

y = read(dq, seconds(time), "OutputFormat", "Matrix");

t = linspace(0,time, length(y));

plot(t,y)

title('Señal adquirida')

xlabel('Tiempo')

ylabel('Voltaje')

%%

% Transformada de Fourier y visualización de espectros

trans = fft(y);

stem(abs(trans))

title('Magnitud Vs Frecuencia.')

xlabel('Frecuencia')

ylabel('Magnitud')

xlim([0,100])

%%

% Bloque para representar la señal a partir de k armónicos

k = 3; % Cantidad de armonicos deseado


frec = 10; % Frecuencia de la señal

n = (frec*k*length(y))/Fs; % Pasos

F = Fs/length(y); % Frecuencia de la señal en el tiempo

rec = f_series(t, F, n, y'); % Reconstruccion a partir de series de Fourier

% plot(rec)

% titulo = ['Señal reconstruida a partir de ', num2str(k), ' armónicos'];

% title(titulo)

% xlabel('Muestras')

% ylabel('Voltaje')

%%

% Si se quieren ver ambas superpuestas

plot(t,y,'DisplayName','Señal Adquirida')

hold on

leg = ['Reconstrucción con ', num2str(k), ' armónicos'];

plot(t,rec,'DisplayName',leg)

title('Señales')

xlabel('Tiempo')

ylabel('Voltaje')

legend('Location','best');

%%

% Generación de señal por parte de la DAQ

removechannel(dq,1)

addoutput(dq, 'myDAQ1', 'ao0', 'Voltage');

write(dq, rec') hhhh

También podría gustarte