Revision 5ede0e2b gr-wxgui/src/python/fftsink2.py

b/gr-wxgui/src/python/fftsink2.py
91 91
        
92 92

93 93
class fft_sink_f(gr.hier_block2, fft_sink_base):
94
    def __init__(self, parent, baseband_freq=0,
94
    def __init__(self, parent, baseband_freq=0, ref_scale=1.0,
95 95
                 y_per_div=10, y_divs=8, ref_level=50, sample_rate=1, fft_size=512,
96 96
                 fft_rate=default_fft_rate, average=False, avg_alpha=None,
97 97
                 title='', size=default_fftsink_size, peak_hold=False):
......
122 122

123 123
        # FIXME  We need to add 3dB to all bins but the DC bin
124 124
        self.log = gr.nlog10_ff(20, self.fft_size,
125
                               -20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size))
125
                               -20*math.log10(self.fft_size)		# Adjust for number of bins
126
			       -10*math.log10(power/self.fft_size)	# Adjust for windowing loss
127
			       -20*math.log10(ref_scale))		# Adjust for reference scale
128
			       
126 129
        self.sink = gr.message_sink(gr.sizeof_float * self.fft_size, self.msgq, True)
127 130
	self.connect(self, self.s2p, self.one_in_n, self.fft, self.c2mag, self.avg, self.log, self.sink)
128 131

......
131 134

132 135

133 136
class fft_sink_c(gr.hier_block2, fft_sink_base):
134
    def __init__(self, parent, baseband_freq=0,
137
    def __init__(self, parent, baseband_freq=0, ref_scale=1.0,
135 138
                 y_per_div=10, y_divs=8, ref_level=50, sample_rate=1, fft_size=512,
136 139
                 fft_rate=default_fft_rate, average=False, avg_alpha=None,
137 140
                 title='', size=default_fftsink_size, peak_hold=False):
......
162 165

163 166
        # FIXME  We need to add 3dB to all bins but the DC bin
164 167
        self.log = gr.nlog10_ff(20, self.fft_size,
165
                                -20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size))
168
                                -20*math.log10(self.fft_size)		# Adjust for number of bins
169
				-10*math.log10(power/self.fft_size)	# Adjust for windowing loss
170
				-20*math.log10(ref_scale))		# Adjust for reference scale
171
				
166 172
        self.sink = gr.message_sink(gr.sizeof_float * self.fft_size, self.msgq, True)
167 173
	self.connect(self, self.s2p, self.one_in_n, self.fft, self.c2mag, self.avg, self.log, self.sink)
168 174

Also available in: Unified diff