@@ -831,33 +831,26 @@ def smooth_frames(self, sigtype='physical'):
831
831
tspf = sum (spf )
832
832
833
833
if sigtype == 'physical' :
834
- n_sig = len (self .e_p_signal )
835
- sig_len = int (len (self .e_p_signal [0 ])/ spf [0 ])
836
- signal = np .zeros ((sig_len , n_sig ), dtype = 'float64' )
837
-
838
- for ch in range (n_sig ):
839
- if spf [ch ] == 1 :
840
- signal [:, ch ] = self .e_p_signal [ch ]
841
- else :
842
- for frame in range (spf [ch ]):
843
- signal [:, ch ] += self .e_p_signal [ch ][frame ::spf [ch ]]
844
- signal [:, ch ] = signal [:, ch ] / spf [ch ]
845
-
834
+ expanded_signal = self .e_p_signal
835
+ output_dtype = np .dtype ('float64' )
846
836
elif sigtype == 'digital' :
847
- n_sig = len (self .e_d_signal )
848
- sig_len = int (len (self .e_d_signal [0 ])/ spf [0 ])
849
- signal = np .zeros ((sig_len , n_sig ), dtype = 'int64' )
850
-
851
- for ch in range (n_sig ):
852
- if spf [ch ] == 1 :
853
- signal [:, ch ] = self .e_d_signal [ch ]
854
- else :
855
- for frame in range (spf [ch ]):
856
- signal [:, ch ] += self .e_d_signal [ch ][frame ::spf [ch ]]
857
- signal [:, ch ] = signal [:, ch ] / spf [ch ]
837
+ expanded_signal = self .e_d_signal
838
+ output_dtype = np .dtype ('int64' )
858
839
else :
859
840
raise ValueError ("sigtype must be 'physical' or 'digital'" )
860
841
842
+ n_sig = len (expanded_signal )
843
+ sig_len = int (len (expanded_signal [0 ])/ spf [0 ])
844
+ signal = np .zeros ((sig_len , n_sig ), dtype = output_dtype )
845
+
846
+ for ch in range (n_sig ):
847
+ if spf [ch ] == 1 :
848
+ signal [:, ch ] = expanded_signal [ch ]
849
+ else :
850
+ for frame in range (spf [ch ]):
851
+ signal [:, ch ] += expanded_signal [ch ][frame ::spf [ch ]]
852
+ signal [:, ch ] = signal [:, ch ] / spf [ch ]
853
+
861
854
return signal
862
855
863
856
0 commit comments