[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r8667 - gnuradio/branches/developers/cswiger/wip/gr-at
From: |
cswiger |
Subject: |
[Commit-gnuradio] r8667 - gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python |
Date: |
Mon, 23 Jun 2008 12:38:18 -0600 (MDT) |
Author: cswiger
Date: 2008-06-23 12:38:18 -0600 (Mon, 23 Jun 2008)
New Revision: 8667
Removed:
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/fpll.py
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/interp_short.py
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/xlate.py
Modified:
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/README
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/cpll.py
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/interp.py
Log:
Deleted fpll, xlate, and interp_short.py
Modified interp.py to combine the x2 interpolator and the root raised
cosine filter, elimating one fir_filter.
Modified cpll.py to remove the root raised cosing filter and clean up code.
Modified README to reflect these changes.
Modified: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/README
===================================================================
--- gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/README
2008-06-23 18:36:53 UTC (rev 8666)
+++ gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/README
2008-06-23 18:38:18 UTC (rev 8667)
@@ -1,4 +1,4 @@
-Decoding ATSC using 19.2MSps rate over 5 processes
+Decoding ATSC using 16MSps rate over 4 processes
--------------------------------------------------
1) Verify signal, adjust antenna and find best gain setting using usrp_fft.py,
@@ -7,7 +7,7 @@
2) Capture data - adjust gain (-g) frequency (-f) and which side
the tvrx is on to fit your local setup:
-usrp_rx_cfile.py -s -R B -d 10 -g 65 -f 503e6 atsc_data_6-4m_complex
+usrp_rx_cfile.py -s -R B -d 8 -g 65 -f 503e6 atsc_data_8m_short_complex
You probably still need fast disks to take the data, like a raid-0 set of
striped sata drives. Make sure there are no or very few Ou overruns. Saving
@@ -24,9 +24,8 @@
4) In seperate windows run processes:
-./interp_short.py <input rf data at 6.4Msps>
-./xlate.py
-./fpll.py
+./interp.py <input rf data short complex at 8Msps>
+./cpll.py
./btl-fsd.py
./viterbi-out.py <output mpeg transport stream>
Modified: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/cpll.py
===================================================================
--- gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/cpll.py
2008-06-23 18:36:53 UTC (rev 8666)
+++ gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/cpll.py
2008-06-23 18:38:18 UTC (rev 8667)
@@ -31,30 +31,12 @@
u = gr.file_source(gr.sizeof_gr_complex,"/tmp/atsc_pipe_1")
- input_rate = 19.2e6
- IF_freq = 5.75e6
+ input_rate = 16e6
-
- # 1/2 as wide because we're designing lp filter
- symbol_rate = atsc.ATSC_SYMBOL_RATE/2.
- NTAPS = 279
- tt = gr.firdes.root_raised_cosine (1.0, input_rate, symbol_rate, .115,
NTAPS)
- # heterodyne the low pass coefficients up to the specified bandpass
- # center frequency. Note that when we do this, the filter bandwidth
- # is effectively twice the low pass (2.69 * 2 = 5.38) and hence
- # matches the diagram in the ATSC spec.
- arg = 2. * math.pi * IF_freq / input_rate
- t=[]
- for i in range(len(tt)):
- t += [tt[i] * 2. * math.cos(arg * i)]
- rrc = gr.fir_filter_fff(1, t)
-
cpll = atsc.cpll()
- c2f = gr.complex_to_float()
- pilot_freq = IF_freq - 3e6 + 0.31e6
lower_edge = 6e6 - 0.31e6
- upper_edge = IF_freq - 3e6 + pilot_freq
+ upper_edge = 5.81e6
transition_width = upper_edge - lower_edge
lp_coeffs = gr.firdes.low_pass (1.0,
input_rate,
@@ -69,9 +51,8 @@
remove_dc = gr.sub_ff()
out = gr.file_sink(gr.sizeof_float,"/tmp/atsc_pipe_3")
- # out = gr.file_sink(gr.sizeof_float,"/mnt/sata/atsc_data_float")
- tb.connect(u, cpll, c2f, lp_filter)
+ tb.connect(u, cpll, lp_filter)
tb.connect(lp_filter, iir)
tb.connect(lp_filter, (remove_dc,0))
tb.connect(iir, (remove_dc,1))
Deleted: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/fpll.py
Modified: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/interp.py
===================================================================
--- gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/interp.py
2008-06-23 18:36:53 UTC (rev 8666)
+++ gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/interp.py
2008-06-23 18:38:18 UTC (rev 8667)
@@ -1,12 +1,12 @@
#!/usr/bin/env /usr/bin/python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2008 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
+# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Radio is distributed in the hope that it will be useful,
@@ -23,20 +23,23 @@
# off-air signal created with:
#
# usrp_rx_cfile.py -R <side with tuner, a or b>
-# -d 10 set decimation to get signal at 6.4e6 rate
+# -d 8 set decimation to get signal at 8e6 rate
# -f <center of tv signal channel freq>
# -g <appropriate gain for best signal / noise>
-#
-# All this module does is multiply the sample rate by 3, from 6.4e6 to
-# 19.2e6 complex samples / sec, then lowpass filter with a cutoff of 3.2MHz
+# -s output shorts
+#
+# All this module does is multiply the sample rate by 2, from 8e6 to
+# 16e6 complex samples / sec, then lowpass filter with a cutoff of 3.2MHz
# and a transition band width of .5MHz. Center of the tv channels is
# then at 0 with edges at -3.2MHz and 3.2MHz.
-from gnuradio import gr
-import sys
+from gnuradio import gr, atsc
+import sys, os
def graph (args):
+ print os.getpid()
+
nargs = len (args)
if nargs == 1:
infile = args[0]
@@ -46,14 +49,28 @@
tb = gr.top_block ()
- src0 = gr.file_source (gr.sizeof_gr_complex,infile)
+ srcf = gr.file_source (gr.sizeof_short,infile)
+ s2ss = gr.stream_to_streams(gr.sizeof_short,2)
+ s2f1 = gr.short_to_float()
+ s2f2 = gr.short_to_float()
+ src0 = gr.float_to_complex()
- lp_coeffs = gr.firdes.low_pass ( 3, 19.2e6, 3.2e6, .5e6,
gr.firdes.WIN_HAMMING )
- lp = gr.interp_fir_filter_ccf ( 1, lp_coeffs )
+
+ # 1/2 as wide because we're designing lp filter
+ input_rate = 16e6
+ symbol_rate = atsc.ATSC_SYMBOL_RATE/2.
+ NTAPS = 279
+ tt = gr.firdes.root_raised_cosine (2.0, input_rate, symbol_rate, .115,
NTAPS)
+ rrc = gr.interp_fir_filter_ccf(2, tt)
+
+
file = gr.file_sink(gr.sizeof_gr_complex,"/tmp/atsc_pipe_1")
- tb.connect( src0, lp, file )
+ tb.connect( srcf, s2ss )
+ tb.connect( (s2ss, 0), s2f1, (src0,0) )
+ tb.connect( (s2ss, 1), s2f2, (src0,1) )
+ tb.connect( src0, lp, rrc, file)
tb.start()
raw_input ('Head End: Press Enter to stop')
Deleted:
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/interp_short.py
Deleted: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python/xlate.py
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8667 - gnuradio/branches/developers/cswiger/wip/gr-atsc/src/python,
cswiger <=