Matlab - Frecuencia Onda Cuadrada

   
Vista:

Frecuencia Onda Cuadrada

Publicado por Don Arturo donarturocristanchoclavijo@gmail.com (5 intervenciones) el 19/12/2017 16:46:20
Hola buenos días,

Requiero de su valiosa ayuda para la frecuencia de una onda cuadrada en MATLAB. Independientemente de como se obtenga la onda (conteo de eventos externos o generación por software) la idea es medir el tiempo transcurrido entre dos flancos (ya sean de subida o de bajada) y calcular la frecuencia de la onda.

Gracias por su atención.
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

Frecuencia Onda Cuadrada

Publicado por Don Arturo (5 intervenciones) el 19/12/2017 19:28:28
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
clc
clear all
close all
 
A = 1; % AMPLITUD DE LA ONDA CUADRADA
f = 17; % FRECUENCIA DE LA ONDA CUADRADA
w = 2*pi*f; % VELOCIDAD ANGULAR DE LA ONDA CUADRADA
D = 0.5; % CICLO UTIL DE LA ONDA CUADRADA
Fs = 150; % FRECUENCIA DE MUESTREO [Hz]
t = 0:1/Fs:1; % VECTOR DE TIEMPO
sq = A*square(w*t+D); % GENERACIÓN DE LA ONDA CUADRADA
 
figure(1)
plot(t,sq)
 
nfft = 1024; % NÚMERO DE PUNTOS DE LA FFT
Y = fft(sq,nfft); % TOMAR LA FFT, Y LLENANDO CON CEROS, DE MANERA QUE EL LARGO DE LA FFT SEA nfft
Y = Y(1:nfft/2); % POR SER SIMÉTRICA LA FFT, SE PUEDE PRESCINDIR DE LA MITAD
my = abs(Y).^2; % POTENCIA ESPECTRAL. MÓDULO DE LA FFT AL CUADRADO
Vf = (0:nfft/2-1)*Fs/nfft; % CONSTRUCCIÓN DEL VECTOR DE FRECUENCIAS
 
figure(2)
plot(Vf,my)
 
[Y,I] = max(my)
frecuencia = Vf(I)
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