示例#1
0
 def test_fft_ifft(self):
     r = pyspt.generate_sine() | pyspt.generate_sine(freq=10e3)
     t = r.copy
     t.fft()
     t.ifft()
     difference = t - r
     self.assertTrue(np.max(np.absolute(difference.timeData)) < 1e-14, msg='fft => ifft does not result in same values!')
示例#2
0
 def test_minus(self):
     r = pyspt.generate_sine(nSamples=10)
     s = pyspt.generate_sine(nSamples=10, freq=500)
     
     t = s - r
     t = s - 2
     t = s - 2.5
     t = 2 - s
     t = 2.5 - s
     t -= s
     t -= 2
     t -= 2.5
示例#3
0
 def test_add(self):
     r = pyspt.generate_sine(nSamples=10)
     s = pyspt.generate_sine(nSamples=10, freq=500)
     
     t = s + r
     t = s + 2
     t = s + 2.5
     t = 2 + s
     t = 2.5 + s
     t += s
     t += 2
     t += 2.5
示例#4
0
 def test_mere_list(self):
     allSig = []
     for iSig in range(10):
         allSig.append(pyspt.generate_sine(freq=10*iSig+10, samplingRate=500, nSamples=1e3))
     
     multCh = pyspt.merge(allSig)
     self.assertEqual(multCh.nChannels, 10)
示例#5
0
 def test_copy_vs_reference(self):
     r = pyspt.generate_sine()
     
     t = r.copy # return a copy        
     self.assertTrue((r.timeData == t.timeData).all(), msg='Copy results in different timeData values')
     self.assertIsNot(r.timeData_reference, t.timeData_reference, msg='obj.copy returns only reference!')
     
     t = r # now t is only a new reference
     self.assertIs(r.timeData_reference, t.timeData_reference, msg= 'error a = b  returns no reference!')
示例#6
0
    def test_resample(self):
        sig = pyspt.generate_sine() + pyspt.generate_noise()*(1/80)

        sig3 = pyspt.dsp.resample(sig, 500e3)
        self.assertEqual(sig3.samplingRate, 500e3)
        self.assertEqual(sig.length, sig3.length)
        
        sig3 = pyspt.dsp.resample(sig, 2e6)
        self.assertEqual(sig3.samplingRate, 2e6)
        self.assertEqual(sig.length, sig3.length)
示例#7
0
 def test_rms_results(self):
     tmp = pyspt.generate_sine(nSamples=44100, amplitude=1, samplingRate=44100)
     self.assertTrue( tmp.rms() - np.sqrt(0.5) < 1e-15, msg='rms in time domain wrong')
     tmp.fft()
     self.assertTrue( tmp.rms() - np.sqrt(0.5) < 1e-15, msg= 'rms in freq domain wrong')
示例#8
0
 def test_generate_sine(self):
     r = pyspt.generate_sine()
     r = pyspt.generate_sine(freq=100, samplingRate=10e3, amplitude=2, nSamples= 1000, phaseOffset=3.14)
     self.assertIsInstance(r, pyspt.Signal)
示例#9
0
 def test_spectrogram_time(self):
     r = pyspt.generate_sine()
     r.plot_spectrogram(show=False)
示例#10
0
 def test_plot_time(self):
     r = pyspt.generate_sine(freq=1, samplingRate=40, nSamples=41)
     r.plot_time(show=False)
示例#11
0
 def test_nSamples_setter(self):
     r = pyspt.generate_sine()
     r.nSamples = 10
     self.assertEqual(r.nSamples, 10)
     r.nSamples = 100
     self.assertEqual(r.nSamples, 100)
示例#12
0
 def test_nSamples(self):
     r = pyspt.generate_sine()
     self.assertEqual(r._data.shape[1], r.nSamples)
示例#13
0
 def test_freq2index(self):
     r = pyspt.generate_sine()
     testIdx = 1234
     self.assertEqual(r.freq2index(r.freqVector[testIdx]), testIdx, msg='freq2index did not result in correct value')
示例#14
0
 def test_call_properties(self):
     r = pyspt.generate_sine()
     tmp = r.freqVector
     tmp = r.freqData
     tmp = r.timeData
示例#15
0
 def test_time_vector(self):
     r = pyspt.generate_sine()
     self.assertTrue((r.timeVector == np.array(range(r.nSamples))/r.samplingRate).all())
示例#16
0
 def test_multiply_with_scalar(self):
     r = pyspt.generate_sine(nSamples=10)
     
     t = r * 2
     t = r * 2.1
示例#17
0
 def test_negative(self):
     r = pyspt.generate_sine(nSamples=10)
     t  = - r
示例#18
0
 def test_length(self):
     r = pyspt.generate_sine()
     self.assertEqual(r.length, r.nSamples/r.samplingRate)
示例#19
0
 def test_freq_time(self):
     r = pyspt.generate_sine()
     r.plot_freq(show=False)
示例#20
0
 def test_length_setter(self):
     r = pyspt.generate_sine()
     r.length = 0.1
     self.assertEqual(r.length, 0.1)
     r.length = 0.2
     self.assertEqual(r.length, 0.2)
示例#21
0
 def test_hilbert(self):
     sine = pyspt.generate_sine(freq=3, samplingRate=10e3, nSamples=10e3)
     sineH = pyspt.dsp.hilbert_transform(sine)
示例#22
0
 def test_nChannels(self):
     r = pyspt.generate_sine()
     self.assertEqual(r._data.shape[0], r.nChannels)
示例#23
0
ax.set_prop_cycle(imagCycler)

lineHandles = plt.plot(testSig.T)
# %%


#del sys.modules[] 
#import pyspt

#importlib.reload(pyspt)
import pyspt
import numpy as np

testSig = np.array(range(40)).reshape((4,10))
t = pyspt.Signal(testSig*(1+1j*0.9), 1)
s = pyspt.generate_sine(freq=50)
s.plot_time()
#t = pyspt.Signal(testSig, 1)
#t.plot_freq()

# %%
import pyspt
s = pyspt.generate_sine(freq=50)

s.fft()
t = s.copy
s.ifft()
t = s.copy

s |= s
t = s.copy
示例#24
0
 def test_frequency_mixer(self):
     mixingFreq = 200e3
     inputSignal = pyspt.generate_sine() 
     outputSignal2 = pyspt.dsp.frequency_mixer(inputSignal, mixingFreq)