Commit c96248899b41bf28ee9602d793eec9fc17320996
1 parent
719cdac4aa
Exists in
master
add fft
Showing 2 changed files with 360 additions and 3 deletions Side-by-side Diff
sdr/fm_radio/fm_radio_comp_decim_lpf.grc
... | ... | @@ -514,7 +514,7 @@ |
514 | 514 | </param> |
515 | 515 | <param> |
516 | 516 | <key>gui_hint</key> |
517 | - <value>12,0</value> | |
517 | + <value>13,0</value> | |
518 | 518 | </param> |
519 | 519 | <param> |
520 | 520 | <key>_rotation</key> |
... | ... | @@ -762,6 +762,305 @@ |
762 | 762 | </param> |
763 | 763 | </block> |
764 | 764 | <block> |
765 | + <key>qtgui_freq_sink_x</key> | |
766 | + <param> | |
767 | + <key>autoscale</key> | |
768 | + <value>False</value> | |
769 | + </param> | |
770 | + <param> | |
771 | + <key>average</key> | |
772 | + <value>0.05</value> | |
773 | + </param> | |
774 | + <param> | |
775 | + <key>axislabels</key> | |
776 | + <value>True</value> | |
777 | + </param> | |
778 | + <param> | |
779 | + <key>bw</key> | |
780 | + <value>samp_rate*10</value> | |
781 | + </param> | |
782 | + <param> | |
783 | + <key>alias</key> | |
784 | + <value></value> | |
785 | + </param> | |
786 | + <param> | |
787 | + <key>fc</key> | |
788 | + <value>0</value> | |
789 | + </param> | |
790 | + <param> | |
791 | + <key>comment</key> | |
792 | + <value></value> | |
793 | + </param> | |
794 | + <param> | |
795 | + <key>ctrlpanel</key> | |
796 | + <value>False</value> | |
797 | + </param> | |
798 | + <param> | |
799 | + <key>affinity</key> | |
800 | + <value></value> | |
801 | + </param> | |
802 | + <param> | |
803 | + <key>_enabled</key> | |
804 | + <value>True</value> | |
805 | + </param> | |
806 | + <param> | |
807 | + <key>fftsize</key> | |
808 | + <value>1024</value> | |
809 | + </param> | |
810 | + <param> | |
811 | + <key>_coordinate</key> | |
812 | + <value>(840, 432)</value> | |
813 | + </param> | |
814 | + <param> | |
815 | + <key>gui_hint</key> | |
816 | + <value>12,0</value> | |
817 | + </param> | |
818 | + <param> | |
819 | + <key>_rotation</key> | |
820 | + <value>0</value> | |
821 | + </param> | |
822 | + <param> | |
823 | + <key>grid</key> | |
824 | + <value>True</value> | |
825 | + </param> | |
826 | + <param> | |
827 | + <key>id</key> | |
828 | + <value>qtgui_freq_sink_x_0_0</value> | |
829 | + </param> | |
830 | + <param> | |
831 | + <key>legend</key> | |
832 | + <value>True</value> | |
833 | + </param> | |
834 | + <param> | |
835 | + <key>alpha1</key> | |
836 | + <value>1.0</value> | |
837 | + </param> | |
838 | + <param> | |
839 | + <key>color1</key> | |
840 | + <value>"blue"</value> | |
841 | + </param> | |
842 | + <param> | |
843 | + <key>label1</key> | |
844 | + <value></value> | |
845 | + </param> | |
846 | + <param> | |
847 | + <key>width1</key> | |
848 | + <value>1</value> | |
849 | + </param> | |
850 | + <param> | |
851 | + <key>alpha10</key> | |
852 | + <value>1.0</value> | |
853 | + </param> | |
854 | + <param> | |
855 | + <key>color10</key> | |
856 | + <value>"dark blue"</value> | |
857 | + </param> | |
858 | + <param> | |
859 | + <key>label10</key> | |
860 | + <value></value> | |
861 | + </param> | |
862 | + <param> | |
863 | + <key>width10</key> | |
864 | + <value>1</value> | |
865 | + </param> | |
866 | + <param> | |
867 | + <key>alpha2</key> | |
868 | + <value>1.0</value> | |
869 | + </param> | |
870 | + <param> | |
871 | + <key>color2</key> | |
872 | + <value>"red"</value> | |
873 | + </param> | |
874 | + <param> | |
875 | + <key>label2</key> | |
876 | + <value></value> | |
877 | + </param> | |
878 | + <param> | |
879 | + <key>width2</key> | |
880 | + <value>1</value> | |
881 | + </param> | |
882 | + <param> | |
883 | + <key>alpha3</key> | |
884 | + <value>1.0</value> | |
885 | + </param> | |
886 | + <param> | |
887 | + <key>color3</key> | |
888 | + <value>"green"</value> | |
889 | + </param> | |
890 | + <param> | |
891 | + <key>label3</key> | |
892 | + <value></value> | |
893 | + </param> | |
894 | + <param> | |
895 | + <key>width3</key> | |
896 | + <value>1</value> | |
897 | + </param> | |
898 | + <param> | |
899 | + <key>alpha4</key> | |
900 | + <value>1.0</value> | |
901 | + </param> | |
902 | + <param> | |
903 | + <key>color4</key> | |
904 | + <value>"black"</value> | |
905 | + </param> | |
906 | + <param> | |
907 | + <key>label4</key> | |
908 | + <value></value> | |
909 | + </param> | |
910 | + <param> | |
911 | + <key>width4</key> | |
912 | + <value>1</value> | |
913 | + </param> | |
914 | + <param> | |
915 | + <key>alpha5</key> | |
916 | + <value>1.0</value> | |
917 | + </param> | |
918 | + <param> | |
919 | + <key>color5</key> | |
920 | + <value>"cyan"</value> | |
921 | + </param> | |
922 | + <param> | |
923 | + <key>label5</key> | |
924 | + <value></value> | |
925 | + </param> | |
926 | + <param> | |
927 | + <key>width5</key> | |
928 | + <value>1</value> | |
929 | + </param> | |
930 | + <param> | |
931 | + <key>alpha6</key> | |
932 | + <value>1.0</value> | |
933 | + </param> | |
934 | + <param> | |
935 | + <key>color6</key> | |
936 | + <value>"magenta"</value> | |
937 | + </param> | |
938 | + <param> | |
939 | + <key>label6</key> | |
940 | + <value></value> | |
941 | + </param> | |
942 | + <param> | |
943 | + <key>width6</key> | |
944 | + <value>1</value> | |
945 | + </param> | |
946 | + <param> | |
947 | + <key>alpha7</key> | |
948 | + <value>1.0</value> | |
949 | + </param> | |
950 | + <param> | |
951 | + <key>color7</key> | |
952 | + <value>"yellow"</value> | |
953 | + </param> | |
954 | + <param> | |
955 | + <key>label7</key> | |
956 | + <value></value> | |
957 | + </param> | |
958 | + <param> | |
959 | + <key>width7</key> | |
960 | + <value>1</value> | |
961 | + </param> | |
962 | + <param> | |
963 | + <key>alpha8</key> | |
964 | + <value>1.0</value> | |
965 | + </param> | |
966 | + <param> | |
967 | + <key>color8</key> | |
968 | + <value>"dark red"</value> | |
969 | + </param> | |
970 | + <param> | |
971 | + <key>label8</key> | |
972 | + <value></value> | |
973 | + </param> | |
974 | + <param> | |
975 | + <key>width8</key> | |
976 | + <value>1</value> | |
977 | + </param> | |
978 | + <param> | |
979 | + <key>alpha9</key> | |
980 | + <value>1.0</value> | |
981 | + </param> | |
982 | + <param> | |
983 | + <key>color9</key> | |
984 | + <value>"dark green"</value> | |
985 | + </param> | |
986 | + <param> | |
987 | + <key>label9</key> | |
988 | + <value></value> | |
989 | + </param> | |
990 | + <param> | |
991 | + <key>width9</key> | |
992 | + <value>1</value> | |
993 | + </param> | |
994 | + <param> | |
995 | + <key>maxoutbuf</key> | |
996 | + <value>0</value> | |
997 | + </param> | |
998 | + <param> | |
999 | + <key>minoutbuf</key> | |
1000 | + <value>0</value> | |
1001 | + </param> | |
1002 | + <param> | |
1003 | + <key>name</key> | |
1004 | + <value>""</value> | |
1005 | + </param> | |
1006 | + <param> | |
1007 | + <key>nconnections</key> | |
1008 | + <value>2</value> | |
1009 | + </param> | |
1010 | + <param> | |
1011 | + <key>showports</key> | |
1012 | + <value>True</value> | |
1013 | + </param> | |
1014 | + <param> | |
1015 | + <key>freqhalf</key> | |
1016 | + <value>True</value> | |
1017 | + </param> | |
1018 | + <param> | |
1019 | + <key>tr_chan</key> | |
1020 | + <value>0</value> | |
1021 | + </param> | |
1022 | + <param> | |
1023 | + <key>tr_level</key> | |
1024 | + <value>0.0</value> | |
1025 | + </param> | |
1026 | + <param> | |
1027 | + <key>tr_mode</key> | |
1028 | + <value>qtgui.TRIG_MODE_FREE</value> | |
1029 | + </param> | |
1030 | + <param> | |
1031 | + <key>tr_tag</key> | |
1032 | + <value>""</value> | |
1033 | + </param> | |
1034 | + <param> | |
1035 | + <key>type</key> | |
1036 | + <value>float</value> | |
1037 | + </param> | |
1038 | + <param> | |
1039 | + <key>update_time</key> | |
1040 | + <value>0.10</value> | |
1041 | + </param> | |
1042 | + <param> | |
1043 | + <key>wintype</key> | |
1044 | + <value>firdes.WIN_BLACKMAN_hARRIS</value> | |
1045 | + </param> | |
1046 | + <param> | |
1047 | + <key>label</key> | |
1048 | + <value>Relative Gain</value> | |
1049 | + </param> | |
1050 | + <param> | |
1051 | + <key>ymax</key> | |
1052 | + <value>10</value> | |
1053 | + </param> | |
1054 | + <param> | |
1055 | + <key>ymin</key> | |
1056 | + <value>-140</value> | |
1057 | + </param> | |
1058 | + <param> | |
1059 | + <key>units</key> | |
1060 | + <value>dB</value> | |
1061 | + </param> | |
1062 | + </block> | |
1063 | + <block> | |
765 | 1064 | <key>qtgui_sink_x</key> |
766 | 1065 | <param> |
767 | 1066 | <key>bw</key> |
... | ... | @@ -2585,6 +2884,12 @@ |
2585 | 2884 | </block> |
2586 | 2885 | <connection> |
2587 | 2886 | <source_block_id>analog_wfm_rcv_0</source_block_id> |
2887 | + <sink_block_id>qtgui_freq_sink_x_0_0</sink_block_id> | |
2888 | + <source_key>0</source_key> | |
2889 | + <sink_key>0</sink_key> | |
2890 | + </connection> | |
2891 | + <connection> | |
2892 | + <source_block_id>analog_wfm_rcv_0</source_block_id> | |
2588 | 2893 | <sink_block_id>rational_resampler_xxx_0</sink_block_id> |
2589 | 2894 | <source_key>0</source_key> |
2590 | 2895 | <sink_key>0</sink_key> |
... | ... | @@ -2594,6 +2899,12 @@ |
2594 | 2899 | <sink_block_id>low_pass_filter_0_0</sink_block_id> |
2595 | 2900 | <source_key>0</source_key> |
2596 | 2901 | <sink_key>0</sink_key> |
2902 | + </connection> | |
2903 | + <connection> | |
2904 | + <source_block_id>analog_wfm_rcv_0_0</source_block_id> | |
2905 | + <sink_block_id>qtgui_freq_sink_x_0_0</sink_block_id> | |
2906 | + <source_key>0</source_key> | |
2907 | + <sink_key>1</sink_key> | |
2597 | 2908 | </connection> |
2598 | 2909 | <connection> |
2599 | 2910 | <source_block_id>low_pass_filter_0</source_block_id> |
sdr/fm_radio/fm_radio_comp_decim_lpf.py
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | ################################################## |
4 | 4 | # GNU Radio Python Flow Graph |
5 | 5 | # Title: Fm Radio Comp Decim Lpf |
6 | -# Generated: Sat Mar 18 09:58:42 2017 | |
6 | +# Generated: Sat Mar 18 10:30:17 2017 | |
7 | 7 | ################################################## |
8 | 8 | |
9 | 9 | if __name__ == '__main__': |
... | ... | @@ -95,6 +95,49 @@ |
95 | 95 | taps=None, |
96 | 96 | fractional_bw=None, |
97 | 97 | ) |
98 | + self.qtgui_freq_sink_x_0_0 = qtgui.freq_sink_f( | |
99 | + 1024, #size | |
100 | + firdes.WIN_BLACKMAN_hARRIS, #wintype | |
101 | + 0, #fc | |
102 | + samp_rate*10, #bw | |
103 | + "", #name | |
104 | + 2 #number of inputs | |
105 | + ) | |
106 | + self.qtgui_freq_sink_x_0_0.set_update_time(0.10) | |
107 | + self.qtgui_freq_sink_x_0_0.set_y_axis(-140, 10) | |
108 | + self.qtgui_freq_sink_x_0_0.set_y_label('Relative Gain', 'dB') | |
109 | + self.qtgui_freq_sink_x_0_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "") | |
110 | + self.qtgui_freq_sink_x_0_0.enable_autoscale(False) | |
111 | + self.qtgui_freq_sink_x_0_0.enable_grid(True) | |
112 | + self.qtgui_freq_sink_x_0_0.set_fft_average(0.05) | |
113 | + self.qtgui_freq_sink_x_0_0.enable_axis_labels(True) | |
114 | + self.qtgui_freq_sink_x_0_0.enable_control_panel(False) | |
115 | + | |
116 | + if not True: | |
117 | + self.qtgui_freq_sink_x_0_0.disable_legend() | |
118 | + | |
119 | + if "float" == "float" or "float" == "msg_float": | |
120 | + self.qtgui_freq_sink_x_0_0.set_plot_pos_half(not True) | |
121 | + | |
122 | + labels = ['', '', '', '', '', | |
123 | + '', '', '', '', ''] | |
124 | + widths = [1, 1, 1, 1, 1, | |
125 | + 1, 1, 1, 1, 1] | |
126 | + colors = ["blue", "red", "green", "black", "cyan", | |
127 | + "magenta", "yellow", "dark red", "dark green", "dark blue"] | |
128 | + alphas = [1.0, 1.0, 1.0, 1.0, 1.0, | |
129 | + 1.0, 1.0, 1.0, 1.0, 1.0] | |
130 | + for i in xrange(2): | |
131 | + if len(labels[i]) == 0: | |
132 | + self.qtgui_freq_sink_x_0_0.set_line_label(i, "Data {0}".format(i)) | |
133 | + else: | |
134 | + self.qtgui_freq_sink_x_0_0.set_line_label(i, labels[i]) | |
135 | + self.qtgui_freq_sink_x_0_0.set_line_width(i, widths[i]) | |
136 | + self.qtgui_freq_sink_x_0_0.set_line_color(i, colors[i]) | |
137 | + self.qtgui_freq_sink_x_0_0.set_line_alpha(i, alphas[i]) | |
138 | + | |
139 | + self._qtgui_freq_sink_x_0_0_win = sip.wrapinstance(self.qtgui_freq_sink_x_0_0.pyqwidget(), Qt.QWidget) | |
140 | + self.top_grid_layout.addWidget(self._qtgui_freq_sink_x_0_0_win, 12,0) | |
98 | 141 | self.qtgui_freq_sink_x_0 = qtgui.freq_sink_f( |
99 | 142 | 1024, #size |
100 | 143 | firdes.WIN_BLACKMAN_hARRIS, #wintype |
... | ... | @@ -137,7 +180,7 @@ |
137 | 180 | self.qtgui_freq_sink_x_0.set_line_alpha(i, alphas[i]) |
138 | 181 | |
139 | 182 | self._qtgui_freq_sink_x_0_win = sip.wrapinstance(self.qtgui_freq_sink_x_0.pyqwidget(), Qt.QWidget) |
140 | - self.top_grid_layout.addWidget(self._qtgui_freq_sink_x_0_win, 12,0) | |
183 | + self.top_grid_layout.addWidget(self._qtgui_freq_sink_x_0_win, 13,0) | |
141 | 184 | self.low_pass_filter_0_0 = filter.fir_filter_fff(10, firdes.low_pass( |
142 | 185 | 1, samp_rate*10, 96e3, 1e3, firdes.WIN_HAMMING, 6.76)) |
143 | 186 | self.low_pass_filter_0 = filter.fir_filter_ccf(4, firdes.low_pass( |
144 | 187 | |
... | ... | @@ -155,8 +198,10 @@ |
155 | 198 | ################################################## |
156 | 199 | # Connections |
157 | 200 | ################################################## |
201 | + self.connect((self.analog_wfm_rcv_0, 0), (self.qtgui_freq_sink_x_0_0, 0)) | |
158 | 202 | self.connect((self.analog_wfm_rcv_0, 0), (self.rational_resampler_xxx_0, 0)) |
159 | 203 | self.connect((self.analog_wfm_rcv_0_0, 0), (self.low_pass_filter_0_0, 0)) |
204 | + self.connect((self.analog_wfm_rcv_0_0, 0), (self.qtgui_freq_sink_x_0_0, 1)) | |
160 | 205 | self.connect((self.low_pass_filter_0, 0), (self.analog_wfm_rcv_0_0, 0)) |
161 | 206 | self.connect((self.low_pass_filter_0_0, 0), (self.qtgui_freq_sink_x_0, 1)) |
162 | 207 | self.connect((self.rational_resampler_xxx_0, 0), (self.audio_sink_0, 0)) |
... | ... | @@ -176,6 +221,7 @@ |
176 | 221 | def set_samp_rate(self, samp_rate): |
177 | 222 | self.samp_rate = samp_rate |
178 | 223 | self.rtlsdr_source_0.set_sample_rate(self.samp_rate*10*4) |
224 | + self.qtgui_freq_sink_x_0_0.set_frequency_range(0, self.samp_rate*10) | |
179 | 225 | self.qtgui_freq_sink_x_0.set_frequency_range(0, self.samp_rate) |
180 | 226 | self.low_pass_filter_0_0.set_taps(firdes.low_pass(1, self.samp_rate*10, 96e3, 1e3, firdes.WIN_HAMMING, 6.76)) |
181 | 227 | self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.samp_rate*10*4, 100e3, 1e3, firdes.WIN_HAMMING, 6.76)) |