hi.. i am working on tx_voice.py and rx_voice.py. I have to capture data directly from usrp and write onto a file and process that. The problem is that the file which is made by the data coming from usrp is very big so basically i am not able to process that. Is there any way by which i can reduce the size of the file without affecting my audio quality much.
The rates which i am presently using on the tx_voice.py are: Bitrate- 50,000 samples per symbol - 5 interpolation - 512
Rates which i am using on the rx_voice.py are: Bitrate- 50,000 samples per symbol - 5 decimation - 256.
Moreover, i have tried using gr.fir_filter_ccf (for decimatio in software)in the following fashion
chan_coeffs = gr.firdes.low_pass (1.0, #
gain self._samples_per_symbol, # sampling rate 1.0, # midpoint of trans. band
0.1, # width of trans. band gr.firdes.WIN_HANN) # filter type
and making a connection as fg.connect(self.u, self.chan_filt, self.packet_receiver) fg.connect(self.chan_filt,destination)
where destination refers to the file onto which i want to write.Now, this works fine as long as sw_decim =1. But, if i change the value to 2,4 ,8 or any other then i dont receive any packet. The file size does change as required (i am able to observe that as the
usrp is always sending data). what i have understood is that because of the decimation i am missing samples and thus not able to receive packets.So, can somebody please explain how to get around the situation.