Skip to content

Instantly share code, notes, and snippets.

@ttm
Last active August 29, 2015 13:57
Show Gist options
  • Save ttm/9410620 to your computer and use it in GitHub Desktop.
Save ttm/9410620 to your computer and use it in GitHub Desktop.
#-*- coding: utf8 -*-
from __future__ import division
import numpy as n, pylab as p
nbits=4
fa=8000 # Hz
nperiodos=1000.
passoFreq=20 # Hz
freqInit=20
freqFin=20000
ngrados=2**nbits
rd=[]
for freq in xrange(freqInit,freqFin,passoFreq):
afreq=2*n.pi*freq
sinal=n.sin(n.linspace(0,afreq*nperiodos,passoFreq*2*n.pi,endpoint=False))
sinal_=((sinal+1)/2)*ngrados
sinal__=n.array(sinal_,dtype=n.int)
sinal_quantizado=sinal__/ngrados
erro_quad=(sinal-sinal_quantizado)**2
relacao_db=10*n.log10(sum(erro_quad)/sum(sinal**2))
print relacao_db
rd.append(relacao_db)
rmedia=n.mean(rd)
rdesvio=n.std(rd)
print rmedia, rdesvio
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment