Example #1
0
File: ex20.py Project: rrjudd/jvsip
def VU_vfrdB(a, rng):
    N_len = int(a.length)
    ca = a.otherEmpty.fill(0.0)
    fftType = {'cvview_d': 'ccfftip_d', 'cvview_f': 'ccfftip_f'}[ca.type]
    fft = pv.FFT(fftType, N_len, 1, pv.VSIP_FFT_FWD, 0, 0)
    ra = ca.realview
    ia = ca.imagview
    ta = a.cloneview
    s = ta.stride
    pv.copy(a, ra)
    fft.dft(ca)
    pv.cmagsq(ca, ra)
    maxv = ra.maxval
    minv = maxv * rng
    pv.clip(ra, minv, maxv, minv, maxv, ra)
    Nlen = int(N_len / 2)
    if N_len % 2:
        ta.putlength(Nlen + 1)
        ra.putlength(Nlen + 1)
        ta.putoffset(Nlen * s)
        pv.copy(ra, ta)
        ra.putlength(Nlen)
        ta.putlength(Nlen)
        ta.putoffset(a.offset)
        ra.putoffset(Nlen + 1)
        pv.copy(ra, ta)
    else:
        pv.copy(ra, ta)
        ta.putlength(Nlen)
        a.putlength(Nlen)
        ta.putoffset(Nlen * s)
        pv.swap(ta, a)
        a.putlength(N_len)
    a.log10
    a *= 10.0
Example #2
0
File: ex20.py Project: rrjudd/jvsip
def VU_vfrdB(a,rng):
    N_len=int(a.length)
    ca=a.otherEmpty.fill(0.0)
    fftType={'cvview_d':'ccfftip_d','cvview_f':'ccfftip_f'}[ca.type]
    fft =  pv.FFT(fftType,N_len,1,pv.VSIP_FFT_FWD,0,0)
    ra = ca.realview
    ia = ca.imagview
    ta = a.cloneview
    s  = ta.stride
    pv.copy(a,ra)
    fft.dft(ca)
    pv.cmagsq(ca,ra)
    maxv = ra.maxval
    minv = maxv * rng
    pv.clip(ra,minv,maxv,minv,maxv,ra)
    Nlen = int(N_len/2)
    if N_len%2:
         ta.putlength(Nlen+1)
         ra.putlength(Nlen+1)
         ta.putoffset(Nlen * s)
         pv.copy(ra,ta)
         ra.putlength(Nlen)
         ta.putlength(Nlen)
         ta.putoffset(a.offset)
         ra.putoffset(Nlen+1)
         pv.copy(ra,ta)
    else :
         pv.copy(ra,ta)
         ta.putlength(Nlen)
         a.putlength(Nlen)
         ta.putoffset(Nlen * s)
         pv.swap(ta,a)
         a.putlength(N_len)
    a.log10
    a *= 10.0
Example #3
0
def scale(gram_data):
    f={'cmview_d':'mview_d','cmview_f':'mview_f'}
    assert gram_data.type in ['cmview_d','cmview_f'], 'gram_data must be complex float matrix'
    M=gram_data.collength; N=gram_data.rowlength; t=f[gram_data.type]
    gram=pv.create(t,M,N,'ROW')
    pv.cmagsq(gram_data,gram)
    gram += (1.0-gram.minval)
    gram.log10
    gram *= 256.0/gram.maxval
    return center(gram)
Example #4
0
def scale(gram_data):
    f = {'cmview_d': 'mview_d', 'cmview_f': 'mview_f'}
    assert gram_data.type in ['cmview_d', 'cmview_f'
                              ], 'gram_data must be complex float matrix'
    M = gram_data.collength
    N = gram_data.rowlength
    t = f[gram_data.type]
    gram = pv.create(t, M, N, 'ROW')
    pv.cmagsq(gram_data, gram)
    gram += (1.0 - gram.minval)
    gram.log10
    gram *= 256.0 / gram.maxval
    return center(gram)
Example #5
0
dataOut  = pv.create('vview_f',N)
spect_avg = pv.create('vview_f',int(N/2) + 1)
spect_new = pv.create('vview_f',int(N/2) + 1)
state = pv.Rand('NPRNG',N)
fft=pv.FFT('rcfftop_f',(N,1,0,0))
b = [0.0234, -0.0094, -0.0180, -0.0129,  0.0037, 
    0.0110, -0.0026, -0.0195, -0.0136,  0.0122,
    0.0232, -0.0007, -0.0314, -0.0223,  0.0250,
    0.0483, -0.0002, -0.0746, -0.0619,  0.0930,
    0.3023,  0.3999,  0.3023,  0.0930, -0.0619,
    -0.0746, -0.0002,  0.0483,  0.0250, -0.0223,
    -0.0314, -0.0007,  0.0232,  0.0122, -0.0136,
    -0.0195, -0.0026,  0.0110,  0.0037, -0.0129,
    -0.0180 ,-0.0094,  0.0234]
fir = pv.FIR('fir_f',pv.listToJv('vview_f',b),'NONE',D*N,D,'NO')
spect_avg.fill(0.0)
for i in range(avg):
    state.randu(dataIn)
    pv.add(-.5,dataIn,dataIn)
    fir.flt(dataIn,dataOut)
    fft.dft(dataOut,dataFFT)
    pv.cmagsq(dataFFT,spect_new)
    pv.add(spect_new,spect_avg,spect_avg)
pv.mul(1.0/avg,spect_avg,spect_avg);
#print("spect_avg =");spect_avg.mprint('%.4f')
x=spect_avg.empty.ramp(0,1.0/(spect_avg.length-1))
pyplot.plot(x.list,spect_avg.list)
pyplot.title('Decimation 2')
pyplot.ylabel('Not Normalized')
pyplot.show()