20 votos

"¿Cómo se redondean las esquinas de una onda cuadrada?"

Estoy tratando de crear un sobre de keying para enviar código morse sin el molesto clic y el consecuente exceso de ancho de banda.

Mi plan actual es tomar el conmutador (esencialmente una onda cuadrada, pero no de frecuencia constante) y "redondear las esquinas". Para ilustrar con un diagrama:

introducir descripción de la imagen aquí

(1) indica la forma de onda de keying (2) indica lo que obtengo con una red simple RC, y (3) indica lo que me gustaría lograr. Los círculos resaltan la "región problemática". En (2) estas regiones son agudas y causarán clics y exceso de ancho de banda, en (3) tienen una tasa de cambio más suave.

El resultado debe lograrse de manera razonablemente sencilla sin un exceso de componentes (preferiblemente con pasivos y ciertamente sin recurrir a una CPU y convertidor D/A, que es el único enfoque confiable que he logrado pensar hasta ahora). Si no se puede hacer de manera razonablemente simple, tendré que conformarme con los clics, quizás intentando limitarlos con filtros de salida en el transmisor para suprimir las emisiones espurias.

Estoy bastante seguro de que esto no funciona como un simple filtro pasa bajo; si uso solo un filtro R/C tipo L simple, obtengo el efecto en (2). Si lo hago un filtro L/C, la cosa suena como una campana (no es realmente sorprendente, por supuesto) y no mejora en absoluto. O tal vez simplemente no he reconocido la constante de tiempo adecuada para ello.

¿Hay un enfoque simple? Estoy empezando a sospechar que no. Pero, a menudo, cuando me siento de esa manera, simplemente estoy pasando por alto lo obvio.

19voto

dumfries Puntos 1

Necesitas filtrado temporal, y eso se logra mejor con filtros de Bessel y Gaussianos. Bessel tiene fase lineal, el Gaussiano tiene la menor demora en el tiempo, pero en tu caso se preferiría el Gaussiano. Para ambos filtros se utilizan aproximaciones, porque Bessel es \$\exp(-st)\$, mientras que el Gaussiano es \$\exp(-t^2)\$.

Para tu caso, ambos podrían implementarse con filtros pasivos, pero necesitarás LC, porque un simple RC no lo logrará. Una respuesta sugiere usar eso y, con suficientes etapas, convergerás hacia un Gaussiano, pero eso solo sucederá después de muchas etapas, mientras que la aproximación del filtro Gaussiano se hace, típicamente, usando series de MacLaurin. También necesitarás un 4º orden, o más alto, para obtener los mejores resultados, porque un simple 2º orden no hará que los pulsos sean lo suficientemente suaves.

Si estás dispuesto a considerar el enfoque LC, deberás decidir las cargas de entrada y salida -- ese es el pecado de los filtros pasivos. Para una escalera de Cauer de 50 Ω igualmente terminada, obtienes este conjunto de valores normalizados -- elige el que desees. Utilicé el 2º porque tiene los valores más sensatos para los inductores:

[L2=26.49682875264271,L1=112.1909090909091,C2=0.003541405021327631,C1=0.01863151013292656]
[L2=35.02617328519855,L1=20.4061135371179,C2=0.005490132961363412,C1=0.04998496692723993]
[L2=124.9624060150376,L1=13.72533333333333,C2=0.008162446057605459,C1=0.01401046936172085]
[L2=46.57877813504823,L1=8.853512705530642,C2=0.04487636709462672,C1=0.01059873200624362]

Probablemente puedas encontrar tablas para estos. Los elementos son como se muestran a continuación (con uno de los 4 resultados):

Gaussiano LC

Los mejores resultados se habrían logrado con un filtro de coseno elevado, pero buena suerte tratando de hacerlo de manera analógica. El Gaussiano es la mejor opción, sin embargo, debido a su respuesta a impulsos (aproximada) simétrica, que te brinda pulsos limpios y limitados en banda. Ten en cuenta que este es un 4º orden y la salida aún no es tan simétrica como desearías. Si necesitas un 5º o 6º orden, tu mejor opción es encontrar esas tablas, porque estoy intentando resolver las ecuaciones y wxMaxima sigue procesando.


Si deseas agregar filtrado activo, entonces puedes utilizar esta función de transferencia normalizada y luego este sitio para diseñar cada sección de 2º orden, por separado:

$$H(s)=\dfrac{3.63465}{s^2+2.83724s+3.63465}\cdot\dfrac{2.80538}{s^2+3.2559s+2.80538}$$

Quería continuar esto ayer, pero era tarde. Puedes tener un filtro Gaussiano de 8º orden utilizando solo un (quad-)opamp. Aquí está la respuesta de uno hecho con LT1058 (azul), comparado con su contraparte ideal (roja), impulsado por un pulso cuadrado de 1 Hz:

Gaussiano de 8º orden

La respuesta tiene un ligero sobrepico y eso se debe a las tolerancias de los componentes y las no idealidades del opamp. Puede ser ligeramente peor en el protoboard (esos condensadores no serán todos iguales). Escalar los valores es muy fácil: divídelos por la frecuencia. Por ejemplo, si tu frecuencia es de 1 kHz, ya sea escala los resistores para ser 1000 veces menores o los condensadores.

No recomiendo disminuir demasiado los valores de los resistores porque las corrientes podrían terminar siendo mayores de lo que el opamp puede suministrar/drenar; algo similar con los condensadores: no los hagas demasiado grandes porque su reactancia puede volverse demasiado baja y tendrás el mismo problema de corriente. Los valores comunes son 1 kΩ o mayores, o 1...10 μF o menores. Lo contrario también es cierto: resistores demasiado grandes significan más ruido y desviación, condensadores demasiado pequeños significan que serán comparables con las parasitarias del opamp y del PCB.

Por brevedad, aquí está la función de transferencia normalizada:

$$\begin{align} H(s)=&\dfrac{7.41638}{s^2+2.99117s+7.41638}\cdot\dfrac{5.55929}{s^2+3.65986s+5.55929} \\ {}&\cdot\dfrac{4.75899}{s^2+4.01438s+4.75899}\cdot\dfrac{4.43336}{s^2+4.17382*s+4.43336} \end{align}$$

Como dije al principio, [editar] desde la perspectiva de ISI y, por lo tanto, de la simetría del impulso[/editar], lo que necesitas aquí es Gaussiano, no Bessel, porque Bessel trata con fase lineal (delays grupales planos), lo que da un ligero sobrepico al tratar con pulsos. Aquí está un Bessel ideal de 8º orden (azul) comparado con el Gaussiano (rojo) contraparte:

Bessel vs Gaussiano

Como puedes ver, solo hay un leve sobrepico (y la demora es ligeramente mayor), por lo que podrías estar tentado a decir "está bien", hasta que observes las diferencias entre la configuración (casi) real y la ideal mencionada anteriormente -- es en ese momento cuando te darás cuenta de que las diferencias se amplificarán. En última instancia, dependerá de la implementación en el protoboard y eso generará discrepancias entre elementos que, muy probablemente, harán que tanto las respuestas Bessel como las Gaussianas se acerquen lo suficiente. Dado que en el hilo original no hay requisitos especiales, solo algunas nociones vagas sobre la conformación del pulso, ambas serán buenas elecciones. Para mostrar lo que quiero decir, aquí tienes un análisis de Monte Carlo con 100 pasos para resistores del 1% y condensadores del 5% (izquierda), y para resistores del 5% y condensadores del 10%:

1%R,5%C, 5%R,10%C

También, aquí tienes una entrada aleatoria con pulsos de anchos variables y cómo son filtrados por ambos filtros Bessel (azul) y Gaussiano (rojo) ideales, con fc=1.25 Hz:

entrada aleatoria

15voto

user69795 Puntos 1

Con el filtro pasabajos adecuado, puedes lograr lo que estás buscando.

Para tu simple RC, la razón por la que los bordes de subida de la onda cuadrada son tan diferentes a los bordes de bajada es debido a las diferencias en la "retardancia de grupo" vs frecuencia para este tipo de filtro. Los filtros que tienen más retardancia constante en su banda de paso tendrán subidas y bajadas más simétricas.

Por cierto, un filtro RLC no necesariamente tiene oscilaciones, simplemente diseñaste uno con un "Q" demasiado alto.

Un tipo de filtro pasabajos con una retardancia más constante en la banda de paso se llama filtro “Bessel”. Para un RLC de una sola sección, este es simplemente un filtro con un "Q" más bajo que un filtro maximalmente plano tradicional. Si estás dispuesto a usar varios inductores y varios condensadores en tu filtro, puedes diseñar uno con una respuesta más agradable.

13voto

ozmank Puntos 127
  • La filtración con circuitos LPF activos es fácil con amplificadores operacionales dobles o cuádruples y componentes RC.

  • Utilizar el retardo de tiempo constante de los filtros Bessel es fácil de sintetizar.

AGREGADO: FALSTAD Circuitos> Filtro Activo> LPF luego seleccionado Opciones de Fase> movió los controles deslizantes a 10Hz, 2 etapas. > seleccionar todo > copiar y pegar en http://www.Falstad.com/circuit o http://www.falstad.com/circuit/circuitjs.html > circuito en blanco o borrarlo > pegar (^V) , luego escalé Rx1k y C/1k (opcional)

  • El punto de quiebre debe ser definido por el múltiplo deseado del intervalo de tiempo más corto para cualquier Código que deba especificar.
  • Con los intervalos del Código Morse definidos como "punto" "espacio en silencio" y "raya", creo que el "punto" es el intervalo más corto y variará dependiendo de la habilidad del remitente.
  • esta suposición puede ser escalada hacia arriba o hacia abajo, pero definamos el intervalo más corto "punto" = 100 ms
    • Definamos el punto de quiebre LPF como \$f=1/T_{punto}\$ con un Gaussian de 4to orden. (4 capacitores + 2 amplificadores operacionales)

Prueba de simulación de concepto < enlace arreglado

ingresar descripción de la imagen aquí

Dado que no había especificaciones para suavizar, no hay criterios de aceptación.

ingresar descripción de la imagen aquí

La fase lineal de Bessel \$d\phi/df\$ aquí produce una respuesta plana para el Retraso de Grupo de 33 ms hasta 10Hz ( luego disminuye después de esto)

Para los estudiantes interesados en los Filtros Bessel;

https://web.archive.org/web/20140224083044/http://www.rane.com/note147.html

6voto

Rengers Puntos 4701

Una forma simple debería ser con dos integradores con salida limitada. No estoy seguro si esto es lo que necesitas, de todos modos tienes que ajustar las constantes de tiempo y los niveles de abrazadera. introduce la descripción de la imagen aquí

5voto

Arpan Shah Puntos 1

En lugar de cambiar un voltaje constante en un R-C, cambie una corriente constante en un C. Linear Tech y otros tienen chips controladores con tiempos de subida/caída controlados para reducir las emisiones. Puedes hacer lo mismo con un amplificador operacional. Hecho correctamente, obtendrás un trapezoide simétrico en lugar de una forma de onda cuadrada. Esto no elimina por completo las esquinas, pero sí reduce la energía en los armónicos de orden impar.

Y como se ha dicho en otro lugar, un filtro R-L-C no genera automáticamente oscilaciones. Con control adecuado de la impedancia y amortiguamiento, puedes obtener la modificación de esquinas que deseas. Los equipos de prueba de video de Tektronics hicieron esto en los años 60. Los pulsos de sincronización eran tan bonitos que una captura de pantalla parecía un dibujo de un artista.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X