Amplitud óptima de un bits sinusoide


7

Una sinusoide de tiempo continuo de cero a pico real amplitud (por ejemplo, para , ) se cuantifica en resolución bits mediante el redondeo a la entero más cercano (Fig. 1). ¿Cuál es la amplitud óptima para diferentes ?A2m10.5m=16A32767.5mm24

ingrese la descripción de la imagen aquí
Figura 1. Para , una sinusoide de la amplitud máxima permitida (línea continua azul), su cuantización (línea punteada naranja) y los enteros con signo de complemento de dos de 4 bits más negativos y positivos -8 y 7 ( amarillo).m=4A=7.5

Se desea una respuesta para cada una de las dos definiciones alternativas de optimización:

  1. maximizar la relación señal-ruido (SNR), donde la señal es la sinusoide original y el ruido es el error de cuantificación, y
  2. minimizar la distorsión armónica total (THD), que se normaliza contra la amplitud de la frecuencia fundamental en la serie de Fourier de la sinusoide cuantizada.

Hola ! Bien, ahora veo una razón por la que está interesado en el cálculo extremadamente preciso de los armónicos 5º y 7º del error de cuantificación cuando la entrada es un sinusoidal puro ideal ... ;-) Entonces creo que tiene que decir algo sobre el estrategia de muestreo utilizada?
Fat32

1
@ Fat32 Se parece más a la historia con láser. No hay muestreo aquí. Si la optimización por cualquiera de los criterios se llevaría a un escenario de muestreo particular es una pregunta interesante en sí misma. Por ejemplo, con muestreo aleatorio, la optimización por def. 1 se mantendrá. Con def. 2, tal vez el error cuadrático medio respecto a de aproximar una sinusoide de amplitud se minimiza mediante la cuantificación de una sinusoide de amplitud óptima . Pero no estoy seguro. BBA
Olli Niemitalo

1
Todavía no entiendo lo que estás tratando de hacer aquí: cuantificas una onda sinusoidal continua en el tiempo. ¿Es un cuantificador uniforme o puede usar un cuantificador óptimo? Si es uniforme: ¿simplemente está desplazando la cuadrícula de cuantización hacia arriba y hacia abajo sobre la onda sinusoidal para encontrar la óptima? ¿Si es así por qué? Esto solo haría diferencias extremadamente pequeñas.
Hilmar

1
Gracias, eso ayuda. Por lo tanto, no está cambiando la cuadrícula, la está estirando (o mantiene constante la faja y estira la onda sinusoidal, lo mismo). Una pregunta más si puedo: dado que la señal es periódica, también lo será el ruido de cuantización. ¿Cuál es la diferencia entre ruido RMS y THD? ¿Debería ser el mismo además de que el TDH no incluye el error de cuantificación en el fundamental?
Hilmar

1
oh no hay muestreo, solo cuantización de forma de onda. Creo que los siguientes libros serán útiles para su análisis exhaustivo sobre la cuantización: Cuantización de ruido_B. Cuantificación y compresión de señales y vectores_Gersho y Gray ... Como también saben, la cuantización se ve principalmente desde una perspectiva estadística para fines de codificación de fuente, nunca visto este tipo de optimización, pero creo que también puede tener algunas implicaciones agradables ...
Fat32

Respuestas:


4

La fase de la sinusoide no importa: un cambio de fase de una sinusoide es equivalente a desplazarlo en el tiempo, lo que resulta en un cambio de tiempo tanto de la sinusoide cuantificada como del error de cuantificación. El espectro de potencia es invariable a los cambios de tiempo . Elegimos trabajar con sinusoide .Acos(x)

Óptima por def. 1

De manera equivalente a maximizar la relación señal / ruido (SNR), podemos minimizar el error de cuantificación del cuadrado medio raíz en relación con el cuadrado medio raíz de la sinusoide, . Es suficiente hacer el análisis en el primer cuarto de período de la onda cosenoidal, porque el resto de la onda cosenoidal y el error de cuantificación son idénticos a su primer cuarto trimestre hasta un cambio de signo y / o inversión de tiempo. Deje estar en el primer cuarto de la onda cosenoidal, . A lo largo de las líneas de la ecuación. 2 de mi respuesta a una pregunta relacionada , la onda coseno cuantificada alcanza un valor entero cuando:1/2ARRMSE = 1/SNRx0<x<π/2k0round(A)

(1)0<x<acos(round(A)0.5A),if k=round(A),acos(k+0.5A)<x<acos(k0.5A),if 1kround(A)1,acos(0.5A)<x<π2,if k=0.

Cada valor de da al error cuadrático medio relativo una contribución aditiva de:kRelMSmi

(2)2MSEkA2=2A21π/2x0x1(Acos(x)k)2dx=2sin(x1)cos(x1)2sin(x0)cos(x0)π+8k(sin(x0)sin(x1))πA+4k2(x1x0)πA2+2x12x0π,

donde y denotan, como se define por separado para cada , los límites dados por la ecuación. 1. El error de cuantificación cuadrático medio relativo total es entonces:x0x1kx0<x<x1

(3)RelMSE=2MSEA2=k=0round(A)2MSEkA2=2asin(12A)π4A212πA2(2A2+4round(A)2)asin(2round(A)12A)πA2(6rounre(UNA)+1)4 4UNA2-(2rotunortere(UNA)-1)2-2π(UNA2+2rotunortere(UNA)2)2πUNA2+1πUNA2k=1rotunortere(UNA)-1((2UNA2+4 4k2)(unasyonorte(2k+12UNA)-unasyonorte(2k-12UNA))+(6 6k-1)4 4UNA2-(2k+1)2-(6 6k+1)4 4UNA2-(2k-1)22),UNA>0.5.

Para la optimización por definición 1, la tarea es encontrar el valor de que minimice el error de cuantificación cuadrático medio relativo RRMSE . bajo la restricción . Eq. 3 se pueden evaluar en Python utilizando la biblioteca de precisión arbitraria:UNA=RmilMETROSmiUNA2metro-1-0,5mpmath

import mpmath as mp
def RelMSE(A):  # valid for A >= 0.5
    A = mp.mpf(A)
    return 2*mp.asin(1/(2*A))/mp.pi - mp.sqrt(4*A**2-1)/(2*mp.pi*A**2) - (2*A**2 + 4*mp.floor(A + 0.5)**2)*mp.asin((2*mp.floor(A + 0.5) - 1)/(2*A))/(mp.pi*A**2) - ((6*mp.floor(A + 0.5) + 1)*mp.sqrt(4*A**2 - (2*mp.floor(A + 0.5) - 1)**2) - 2*mp.pi*(A**2 + 2*mp.floor(A + 0.5)**2))/(2*mp.pi*A**2) + mp.nsum(lambda k: (2*A**2 + 4*k**2)*(mp.asin((2*k+1)/(2*A)) - mp.asin((2*k-1)/(2*A))) + ((6*k-1)*mp.sqrt(4*A**2 - (2*k + 1)**2) - (6*k + 1)*mp.sqrt(4*A**2 - (2*k - 1)**2))/2, [1, mp.floor(A + 0.5)-1])/(mp.pi*A**2)

RRMSE parece tener un mínimo local entre cada par de enteros sucesivos (Fig. 1).UNA

ingrese la descripción de la imagen aquí
Figura 1. RRMSE (línea sólida azul y cuadrados azules) y su aproximación (naranja línea discontinua) sobre la base de la varianza de una distribución uniforme de la anchura de 1, para diferentes gamas de .1/6/A1/12A

Una selección de óptima se dan en la Tabla 1 junto con el RRMSE resultante, también para algunos otros valores comunes de . En mayor , la reducción de RRMSE por la elección óptima será marginal. La siguiente secuencia de comandos de Python (continuación) puede generar las entradas de la tabla, que muestran solo dígitos que son iguales entre dos cálculos utilizando diferentes configuraciones de precisión, cuya ejecución tomó días:AAm

def approx_optimal_A(m):
    m = mp.mpf(m)
    return 2**(m-1) - 1 + mp.mpf("0.156936321399") + mp.exp(-1.2749819017 - 0.3464088917*m)  # Eq. 8
    # return 2**(m-1) - 1  # This less informed guess gives identical results but slower convergence

def to_max_digits(f, prec_1, prec_2, max_digits):  # return the at most max_digits digits of function f that are agreed about by both precision settings
    prec = mp.mp.prec
    mp.mp.prec = prec_1
    y_prec_1 = f()
    mp.mp.prec = prec_2
    y_prec_2 = f()
    digits = max_digits
    while mp.nstr(y_prec_1, digits, strip_zeros=False) != mp.nstr(y_prec_2, digits, strip_zeros=False):  # Beware: a possible infinite loop
        digits -= 1
    return mp.nstr(y_prec_2, digits, strip_zeros=False)
    prec = mp.mp.prec

double_digits = 15  # Print at most this many digits
dB_digits = 9

for m in range(2, 25):
    optimal_A = to_max_digits(lambda: mp.findroot(lambda A: mp.diff(RelMSE, A), approx_optimal_A(m)), 80, 100, double_digits)
    RelMSE_optimal = to_max_digits(lambda: 10*mp.log10(RelMSE(mp.mpf(optimal_A))), 80, 100, dB_digits)
    RelMSE_1 = to_max_digits(lambda: 10*mp.log10(RelMSE(2**(m-1)-1)), 80, 100, dB_digits)
    RelMSE_2 = to_max_digits(lambda: 10*mp.log10(RelMSE(2**(m-1)-0.5)), 80, 100, dB_digits)
    print(str(m)+"&"+optimal_A+"&"+RelMSE_optimal+"&"+RelMSE_1+"&"+RelMSE_2+"\\\\")

Tabla 1. Óptimo por definición 1 para diferentes y el RRMSE resultante, con el RRMSE para algunas opciones comunes de enumeradas para comparación. se ha dejado de lado porque no puede ser manejado por la ecuación. 3 y porque un solo bit no representa ningún número positivo como representación de complemento a dos. Tenga en cuenta que RRMSE en dB se convierte en SNR en dB mediante un cambio de signo, porque .Am24Am=1SNR = 1/RelMSE = 1/RRMSE2

moptimal ARRMSE (dB)A=optimal2m112m10.521.2682794946153011.11280538.9272980510.176464533.2380094212103718.820693717.958886317.888200447.2165859792940725.516767325.090304824.7375654515.200718133195531.812709431.577553731.2013629631.188875671425737.936488037.797788337.4726954763.180083539419043.985891043.900111443.64143088127.17361362552350.004951849.950005349.75278179255.16889473636156.013474355.977338255.830720010511.16547918889062.020002261.995763861.8884975111023.1630220537768.027866168.011368967.9337180122047.1612626448474.038059074.026709573.9708981134095.1600072251680.050595880.042726780.0028089148191.1591137160186.065140986.059654186.03120091516383.158478966692.081282292.077441092.05720791632767.158028642898.098640798.095943798.08157981765535.1577094659104.116904104.115007104.10482118131071.157483397110.135830110.134493110.12727619262143.157323352116.155234116.154291116.14918120524287.157210089122.174984122.174318122.170701211048575.15712995128.194979128.194509128.191950222097151.15707326134.215150134.214818134.213008234194303.15703317140.235446140.23521140.233931248388607.15700481146.255831146.2557146.25476

Óptima por def. 2

Una función periódica como una sinusoide cuantificada tiene una serie de Fourier; es una suma de sinusoides armónicos, es decir, sinusoides de frecuencias armónicas de una frecuencia fundamental. Los sinusoides armónicos son ortogonales. Por lo tanto, el cuadrado medio de la función periódica es igual a la suma de los cuadrados medios de las sinusoides armónicas. El cuadrado medio de la suma de los armónicos no fundamentales se puede calcular restando el cuadrado medio del fundamental del cuadrado medio de la función periódica. Para una onda coseno cuantizada esto permite calcular la distorsión armónica total (THD) como:round(Acos(x))

(4)THD=MSa12/2a12/2=MSa12/21,

donde MS es el cuadrado medio de la onda coseno cuantificada, es el cuadrado medio del fundamental y es el coeficiente del coseno de frecuencia fundamental en la serie de Fourier de , calculado usando la ecuación. 3 de mi respuesta a una pregunta relacionada y simplificando a:a12/2a1round(Acos(x))

(5)a1=2πA(round(A)4A2(2round(A)1)2+k=1round(A)1k(4A2(2k1)24A2(2k+1)2)).

El cuadrado medio de la onda coseno cuantificada se calcula en su primer trimestre por:

(6)MS=1π/20π/2round(Acos(x))2dx=round(A)2π/2acos(round(A)0.5A)+1π/2k=1round(A)1k2(acos(k0.5A)acos(k+0.5A))

THD se calcula y minimiza mediante el siguiente script de Python (continuación), utilizando Eqs. 4, 5 y 6:

def a_1(A):
    A = mp.mpf(A)
    return 2*(mp.floor(A + 0.5)*mp.sqrt(4*A**2 - (2*mp.floor(A + 0.5) - 1)**2) + mp.nsum(lambda k: k*(mp.sqrt(4*A**2 - (2*k - 1)**2)-mp.sqrt(4*A**2 - (2*k + 1)**2)), [1, mp.floor(A + 0.5) - 1]))/(mp.pi*A)

def MS(A):
    A = mp.mpf(A)
    return mp.floor(A + 0.5)**2*mp.acos((mp.floor(A + 0.5)-0.5)/A)/(mp.pi/2) + mp.nsum(lambda k: k**2*(mp.acos((k - 0.5)/A) - mp.acos((k + 0.5)/A)), [1, mp.floor(A + 0.5) - 1])/(mp.pi/2)

def STHD(A):  # Square of THD
    MS_1 = a_1(A)**2/2
    return MS(A)/MS_1 - 1

for m in range(2, 25):
    optimal_A = to_max_digits(lambda: mp.findroot(lambda A: mp.diff(STHD, A), approx_optimal_A(m)), 80, 100, double_digits)
    B = to_max_digits(lambda: a_1(mp.mpf(optimal_A)), 80, 100, double_digits)
    THD_optimal = to_max_digits(lambda: 10*mp.log10(STHD(mp.mpf(optimal_A))), 80, 100, dB_digits)
    THD_1 = to_max_digits(lambda: 10*mp.log10(STHD(2**(m-1)-1)), 80, 100, dB_digits)
    THD_2 = to_max_digits(lambda: 10*mp.log10(STHD(2**(m-1)-0.5)), 80, 100, dB_digits)
    print(str(m)+"&"+optimal_A+"&"+B+"&"+THD_optimal+"&"+THD_1+"&"+THD_2+"\\\\")

ingrese la descripción de la imagen aquí
Figura 2. THD (dB) como función de la amplitud no cuantificada . Los máximos locales se encuentran en amplitudes que provocan que una protuberancia estrecha sobresalga en los extremos de la sinusoide cuantificada.A

ingrese la descripción de la imagen aquí
Figura 3. Amplitud (línea continua azul) de la frecuencia fundamental en la cuantificación de una onda cosenoidal de amplitud , con la línea de identidad (línea discontinua naranja) trazada como referencia.a1A

Tabla 2. Óptimo por definición 2 para diferentes y el THD resultante, con el THD para algunas opciones comunes de enumeradas para comparación. Sorprendentemente, THD se minimiza con la misma que maximiza la SNR (Tabla 1), también cuando se prueba con una precisión mucho mayor que la que se muestra aquí. Si se considera que la señal es una sinusoide de amplitud lugar de la amplitud , los valores de SNR se obtienen volteando el signo de los valores de THD.Am24AAa1A

moptimal Aa1THD (dB)A=optimalA=optimal2m112m10.521.268279494615301.1701195194867910.762957810.149207810.572856233.238009421210373.1955270514517118.763337618.253398018.337009447.216585979294077.1963252507877625.504557325.189554925.0267366515.200718133195515.190704465809031.809847531.615956331.3681507631.188875671425731.183859747699637.935789437.813812237.5642711763.180083539419063.177560110388543.985717543.907130643.69027098127.173613625523127.17234333857750.004908449.953187749.77833449255.168894736361255.16825576659856.013463455.978818455.843912710511.165479188890511.16515814729862.019999461.996465661.8952456111023.163022053771023.16286093052-68.0278654-68.0117064-67.9371468122047.161262644842047.16118185697-74.0380588-74.0268736-73,9726322134095.160007225164095.15996674788-80.0505958-80.0428071-80.0036830148191.159113716018191.15909344706-86.0651409-86.0596937-86.03164051516383.158478966616383.1584688212-92.0812822-92.0774606-92.0574286dieciséis32767.158028642832767.1580235662-98.0986407-98.0959534-98.08169051765535.157709465965535.1577069262-104.116904-104.115011-104.10487718 años131071.157483397131071.157482127-110.135830-110.134495-110.12730419262143.157323352262143.157322717-116.155234-116.154293-116.14919520524287.157210089524287.157209771-122.174984-122.174319-122.170708211048575.157129951048575.15712979-128.194979-128.194509-128.191953222097151.157073262097151.15707318-134.215150-134.21482-134,213010234194303.157033174194303.15703313-140.235446-140.235212-140.233932248388607.157004818388607.15700479-146.25583-146.25567-146.25476

La equivalencia de las dos definiciones de optimización se mantiene incluso cuando la precisión numérica aumenta significativamente, aquí con al menos a 200 decimales, en Python (continuación):metro=4 4

m = 4
mp.mp.dps = 200
mp.findroot(lambda A: mp.diff(RelMSE, A), 2**(m-1)-1+0.157)
mp.findroot(lambda A: mp.diff(STHD, A), 2**(m-1)-1+0.157)

que genera valores óptimos numéricamente idénticos para para las dos definiciones de optimización:UNA

mpf('7.21658597929406951556806247230383254685067097032105786583650636819627678717747461433940963299310318715204551609940031954265317274195597248077934451075855527')
mpf('7.21658597929406951556806247230383254685067097032105786583650636819627678717747461433940963299310318715204551609940031954265317274195597248077934451075855527')

Limitemetro

En general se hace difícil optimizar directamente numéricamente , por lo que es deseable otro enfoque. Una aproximación de Taylor de la sinusoide sobre su pico, donde se diferencia más de una función lineal, es un polinomio cuadrático. Esto se puede usar para analizar los efectos de la cuantización en el límite . La diferencia entre el error de cuantificación de MS de una sinusoide con una amplitud y el error de cuantificación de MS de una función lineal es proporcional a (Fig. 4):metrometrometro UNAUNA1/ /12

(7)METROS-112F(una)=0 04 4una+2/ /2((X2-una)2-112)reX+k=14 4una+4 4k-2/ /24 4una+4 4k+2/ /2((X2-una-k)2-112)reX=160 60(4 4una+2dieciséisuna2-4 4una-1+k=1(4 4una+4 4k+2(dieciséisuna2+4 4una(8k-1)+dieciséisk2-4 4k-1)-4 4una+4 4k-2(dieciséisuna2+4 4una(8k+1)+dieciséisk2+4 4k-1))),

cuando la amplitud es un número entero más un número real . La suma en la ecuación. 7 parece converger, mientras que omitiendo el término daría como resultado que la secuencia de sumas parciales crezca sin límite, lo que indica que no importa qué valor de se elija, y como .UNA-0,5<una0,5-112una(METROS-112)/ /METROS0 0METROS112metro

ingrese la descripción de la imagen aquí
Figura 4. y de la ecuación. 7. La forma de ve idéntica a la forma de RRMSE para grande en la Fig. 1.F(una)F(una)F(una)metro

Al diferenciar simbólicamente definido en la ecuación. 7 con respecto a (Fig. 4) y al encontrar el cero de cerca de , la óptima en puede ser calculado a un poco de precisión, en Python (continuación) :F(una)unaF(una)una=0,157unametro

def f(a):
    a = mp.mpf(a)
    return (mp.sqrt(4*a + 2)*(16*a**2 - 4*a - 1) + mp.nsum(lambda k: (mp.sqrt(4*a + 4*k + 2)*(16*a**2 + 4*a*(8*k - 1) + 16*k**2 - 4*k - 1) - mp.sqrt(4*a + 4*k - 2)*(16*a**2 + 4*a*(8*k + 1) + 16*k**2 + 4*k - 1)), [1, mp.inf]))/60

def Df(a):  # Derivative of f(a)
    a = mp.mpf(a)
    return mp.sqrt(2)*(16*a**2 + 4*a - 1)/(12*mp.sqrt(2*a + 1)) + mp.nsum(lambda k: (mp.sqrt(4*a + 4*k - 2)*(16*a**2 + 4*a*(8*k + 1) + 16*k**2 + 4*k - 1) - mp.sqrt(4*a + 4*k + 2)*(16*a**2 + 4*a*(8*k - 1) + 16*k**2 - 4*k - 1))/(12*mp.sqrt(2*a + 2*k + 1)*mp.sqrt(2*a + 2*k - 1)), [1, mp.inf])    

to_max_digits(lambda: mp.findroot(lambda a: Df(a), 0.157), 63, 83, double_digits)

lo que da . Esto se puede utilizar para crear una aproximación de la óptima como función de , destinada a grandes :una0.156936321399UNAmetrometro20

(8)UNA2metro-1-1+0.156936321399+mi-1.2749819017-0.3464088917metro,

donde los coeficientes en el exponente se calcularon mediante un ajuste lineal en a una linealización de los valores óptimos de la Tabla 1 o, de manera equivalente, la Tabla 2. El error al usar la aproximación se muestra en la Fig. 5 .metro{21,22}UNA

ingrese la descripción de la imagen aquí
Figura 5: Error absoluto en la aproximación de óptimo por la ecuación. 8 en función de . Para , que se utilizaron para el ajuste, y para , el error de aproximación absoluta fue inferior a .UNAmetrometro{21,22}metro{23,24}10-8

Por curiosidad, también calculé el peor de los casos que da el mayor error de cuantificación de MS como , al encontrar el cero de cerca de , que resultó estar en .unametroF(una)una=-0,43una-0.433510875868

Conclusión

Las dos definiciones de optimización parecen ser equivalentes a una precisión numérica convincente. Como , el valor óptimo de aproxima a aproximadamente (o más exactamente para grandes finitos la aproximación de la ecuación 8) y la reducción del error de cuantificación (por def. 1 SNR o def.2 THD) en dB al elegir el valor óptimo se aproxima a cero, en comparación con la elección de otro valor grande como o la elección del caso más desfavorable .metroUNA2metro-1-1+0.156936321399metroUNA=2metro-1-1UNA=2metro-1-0,5

En la amplitud óptima , la sinusoide de mínimos cuadrados (LS) es de la misma frecuencia y fase que la sinusoide que se cuantifica, pero tiene una amplitud algo menor dada en la Tabla 2. Esto es algo contraintuitivo. Para minimizar THD (o maximizar SNR con la sinusoide que se aproxima como la señal) de aproximación de una sinusoide de amplitud utilizando una forma de onda de números bit con valores en el rango que se construye cuantificando (redondeando al entero más cercano) una sinusoide de amplitud , uno debe elegir y óptimos que no sean iguales.UNAuna1una1metro-2metro-1...2metro-1-1UNAuna1UNA

Los resultados son aplicables al tiempo continuo sin muestreo, o al muestreo en el límite , donde es la frecuencia sinusoide y es la frecuencia de muestreo. En general, la optimización no se preserva mediante el muestreo. El muestreo aleatorio con tiempos aleatorios de las muestras conservará la definición 1 de la SNR óptima, si la distribución de la fase sinusoide (módulo ) en las muestras es uniforme. Además, para irracionales , la misma óptima se conserva por la misma razón, véase el teorema de equidistribución . La optimización de la definición 1 SNR se desvanece con racionales , porque la distribución de las fases sinusoides no será uniforme.FFsFFs2πF/ /FsF/ /Fs


La fase importa mucho, según mis resultados numéricos en la otra pregunta. No es un WLOG para deshacerse de él, al ignorarlo estás estudiando un subconjunto extremadamente pequeño de una solución general.
Cedron Dawg

@CedronDawg no hay muestreo, por lo que la fase no importa. Para un cambio de fase del coseno distinto de cero, tanto la sinusoide como su cuantización se desplazarían de manera idéntica en el tiempo, y por lo tanto, el ruido de cuantización también se desplazaría en el tiempo de forma idéntica y tendría una potencia idéntica (cuadrado medio) y un espectro de potencia en comparación con el caso de cambio de fase cero.
Olli Niemitalo

En otras palabras, en el tiempo continuo, la cuantización es un formador de onda y un formador de onda es un sistema invariante en el tiempo, y un cambio de fase de una sinusoide es equivalente a un cambio de tiempo. Un cambio de tiempo no cambia el espectro de potencia.
Olli Niemitalo

"Es suficiente hacer el análisis en el primer trimestre del coseno": no creo que sea una suposición segura ya que una cuadrícula de números pares centrada en cero siempre es asimétrica. Para 16 bits, va de -32768 a +32767. Dado que la función de densidad de probabilidad de la onda sinusoidal es máxima en este rango y está observando diferencias muy pequeñas, esto probablemente hará una diferencia no trivial. En otras palabras: su amplitud óptima será diferente para una media onda positiva y luego una negativa.
Hilmar

@Hilmar, la pregunta indica que una sinusoide está cuantizada. Una sinusoide es antiperiódica. La pregunta establece que la cuantización se realiza redondeando al entero más cercano. Por ejemplo, para m = 16, las amplitudes de la sinusoide que resultan en el redondeo de partes de la sinusoide a -32768 están prohibidas en la pregunta, porque el redondeo también produciría 32768 (en la fase opuesta) que no es un número de 16 bits .
Olli Niemitalo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.