URL
https://opencores.org/ocsvn/cascaded_fir_filter/cascaded_fir_filter/trunk
Subversion Repositories cascaded_fir_filter
Compare Revisions
- This comparison shows the changes necessary to convert path
/cascaded_fir_filter
- from Rev 2 to Rev 3
- ↔ Reverse comparison
Rev 2 → Rev 3
/trunk/create_IQ_rect.py
0,0 → 1,65
import matplotlib.pyplot |
import numpy |
import math |
out_file_samp = open("IQ_rect_signal.txt", "w") |
out_file_ping = open("IQ_rect_ping.txt", "w") |
samp_rate = 50000 # Hz |
data_duration = 0.05 # s |
tone_freq = 5000 # Hz |
ping_duration = 0.002 # s |
ping_amplitude = 10 |
echo_position = 0.025 # s |
echo_amplitude = 10 |
|
time_acc = 0 |
time_delta = 1.0 / samp_rate |
tone_omega = 2.0 * math.pi * 5000 |
ping_length = 0 |
data_length = 0 |
|
samps_t = [] |
samps_I = [] |
samps_Q = [] |
|
pings_t = [] |
pings_I = [] |
pings_Q = [] |
|
samp_I = 0 |
samp_Q = 0 |
|
while time_acc < data_duration : |
if time_acc < ping_duration : |
samp_I = ping_amplitude * 1 |
samp_Q = ping_amplitude * 1 |
pings_t.append(time_acc); |
pings_I.append(samp_I); |
pings_Q.append(samp_Q); |
out_file_ping.write("{0:04x}\r\n{1:04x}\r\n".format(int(samp_I) & 0xFFFF, int(samp_Q) & 0xFFFF)) |
ping_length += 1 |
else : |
if (time_acc >= echo_position) and (time_acc < echo_position + ping_duration) : |
samp_I = echo_amplitude * 1 |
samp_Q = echo_amplitude * 1 |
else : |
samp_I = 0 |
samp_Q = 0 |
samps_t.append(time_acc); |
samps_I.append(samp_I); |
samps_Q.append(samp_Q); |
out_file_samp.write("{0:04x}\r\n{1:04x}\r\n".format(int(samp_I) & 0xFFFF, int(samp_Q) & 0xFFFF)) |
data_length += 1 |
time_acc += time_delta |
out_file_ping.close() |
out_file_samp.close() |
print "ping length = ", ping_length |
print "data length = ", data_length |
matplotlib.pyplot.figure(1) |
matplotlib.pyplot.subplot(3,1,1) |
matplotlib.pyplot.plot(samps_t, samps_I) |
matplotlib.pyplot.plot(samps_t, samps_Q) |
#matplotlib.pyplot.figure(2) |
matplotlib.pyplot.subplot(3,1,2) |
matplotlib.pyplot.plot(pings_t, pings_I) |
matplotlib.pyplot.plot(pings_t, pings_Q) |
matplotlib.pyplot.show() |
/trunk/IQ_rect_ping.txt
0,0 → 1,200
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
/trunk/IQ_rect_signal.txt
0,0 → 1,5002
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
000a |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
/trunk/convolution_calculation_in_and_out.gtkw
0,0 → 1,35
[*] |
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI |
[*] Fri May 22 12:55:16 2015 |
[*] |
[dumpfile] "/home/ibragimove/My_Designs/Cascaded_FIR_filter/test.vcd" |
[dumpfile_mtime] "Fri May 22 12:54:49 2015" |
[dumpfile_size] 20736171 |
[savefile] "/home/ibragimove/My_Designs/Cascaded_FIR_filter/convolution_calculation_in_and_out.gtkw" |
[timestart] 0 |
[size] 1712 600 |
[pos] -1 -1 |
*-21.000000 2887000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 |
[treeopen] FIR_cascaded_tb. |
[sst_width] 223 |
[signals_width] 314 |
[sst_expanded] 1 |
[sst_vpaned_height] 160 |
@8420 |
FIR_cascaded_tb.FIR_cascaded_DUT.inp_samp_I[13:0] |
@20000 |
- |
@8420 |
FIR_cascaded_tb.FIR_cascaded_DUT.inp_samp_Q[13:0] |
@20000 |
- |
@8421 |
FIR_cascaded_tb.FIR_cascaded_DUT.out_samp_I[17:0] |
@20000 |
- |
@8421 |
FIR_cascaded_tb.FIR_cascaded_DUT.out_samp_Q[17:0] |
@20000 |
- |
[pattern_trace] 1 |
[pattern_trace] 0 |
/trunk/create_IQ_chirp.py
0,0 → 1,110
import matplotlib.pyplot |
import numpy |
import math |
out_file_samp = open("IQ_chirp_signal.txt", "w") |
out_file_ping = open("IQ_chirp_ping.txt", "w") |
#mod_list = array('b', [1, 1, -1, 1, -1, 1, -1]) |
#mod_length = 100 |
samp_rate = 50000 |
data_leng = 0.080 |
pulse_freq_carry = 250000 |
pulse_freq_sweep = 5000 |
pulse_leng = 0.001 |
pulse_amp = 32.0 |
noise_amp = 4.0 |
sig_offs = 0.003 |
sig_amp = 16.0 |
leak_amp = 4.0 |
samp_per = 1.0 / samp_rate |
print "samp_per: ", samp_per |
adc_rate = pulse_freq_carry * 4.0 |
adc_per = 1.0 / adc_rate |
print "adc_per: ", adc_per |
samp_div = round(1.0 / (samp_rate * adc_per)) |
print "samp_div: ", samp_div |
samp_per = adc_per * samp_div |
time_var = 0 |
carr_phase_delta = 2.0 * math.pi * (pulse_freq_carry) * adc_per |
carr_phase_curr = 0 |
pulse_phase_mod_start = 2.0 * math.pi * pulse_freq_sweep * ( - pulse_leng) |
pulse_phase_mod_step_const = 2.0 * math.pi * pulse_freq_sweep / pulse_leng * adc_per**2 |
pulse_phase_mod_step_var_c = 4.0 * math.pi * pulse_freq_sweep / pulse_leng * adc_per |
|
#print "pulse_phase_delta: ", pulse_phase_delta |
pulse_delta_freq = pulse_freq_sweep / pulse_leng / samp_rate |
pulse_freq_carry_curr = pulse_freq_carry - pulse_freq_sweep / 2 |
print "samp_per: ", samp_per |
samps_t = [] |
samps_phi = [] |
samps_I = [] |
samps_Q = [] |
samps_freq = [] |
adc_I = [] |
adc_Q = [] |
adc_t = [] |
iteration = 0 |
samp_counter = 0 |
time_start_mod = 0 |
while time_var < data_leng and iteration < 100000 or samp_counter % 2 == 1: |
iteration += 1 |
samp_I = 0 |
samp_Q = 0 |
if samp_counter == samp_div : |
samp_counter = 0 |
if time_var < pulse_leng : |
if time_var == 0 : |
time_start_mod = time_var |
if samp_counter == 0 : |
samp_I = pulse_amp * math.sin(carr_phase_curr) |
if samp_counter == 1 : |
samp_Q = pulse_amp * math.sin(carr_phase_curr) |
carr_phase_curr += pulse_phase_mod_step_const + pulse_phase_mod_step_var_c * (time_var - time_start_mod) |
elif time_var >= sig_offs and time_var < sig_offs + pulse_leng : |
if samp_counter == 0 : |
samp_I = sig_amp * math.sin(carr_phase_curr) |
if samp_counter == 1 : |
samp_Q = sig_amp * math.sin(carr_phase_curr) |
carr_phase_curr += pulse_phase_mod_step_const + pulse_phase_mod_step_var_c * (time_var - time_start_mod) |
else : |
#pulse_freq_carry_curr = pulse_freq_carry - pulse_freq_sweep / 2 |
time_start_mod = time_var |
if samp_counter == 0 : |
samp_I = leak_amp * math.sin(carr_phase_curr) |
if samp_counter == 1 : |
samp_Q = leak_amp * math.sin(carr_phase_curr) |
#carr_phase_curr += carr_phase_delta |
adc_I.append(pulse_amp * math.sin(carr_phase_curr)) |
adc_t.append(time_var); |
if samp_counter == 0 : |
samps_I.append(samp_I); |
if samp_counter == 1 : |
samps_Q.append(samp_Q); |
samps_t.append(time_var); |
samps_phi.append(carr_phase_curr); |
carr_phase_curr += carr_phase_delta |
time_var += adc_per |
samp_counter += 1 |
samps_I |
samps_Q |
samps_t |
print "len(samps_I) ", len(samps_I) |
for i1 in range(len(samps_I)) : |
#out_file_samp.write("{0:04x}_{1:04x} {2} {3}\r\n".format(int(samps_I[i]) & 0xFFFF, int(samps_Q[i]) & 0xFFFF, int(samps_I[i]), int(samps_Q[i]))) |
#print "i1: ", i1, " ", samps_I[i1], " ", samps_Q[i1] |
out_file_samp.write("{0:04x}\r\n{1:04x}\r\n".format(int(samps_I[i1]) & 0xFFFF, int(samps_Q[i1]) & 0xFFFF)) |
for i1 in range(int(pulse_leng/samp_per)) : |
#out_file_samp.write("{0:04x}_{1:04x} {2} {3}\r\n".format(int(samps_I[i]) & 0xFFFF, int(samps_Q[i]) & 0xFFFF, int(samps_I[i]), int(samps_Q[i]))) |
#print "i1: ", i1, " ", samps_I[i1], " ", samps_Q[i1] |
out_file_ping.write("{0:04x}\r\n{1:04x}\r\n".format(int(samps_I[i1]) & 0xFFFF, int(samps_Q[i1]) & 0xFFFF)) |
out_file_samp.close() |
matplotlib.pyplot.figure(1) |
matplotlib.pyplot.subplot(3,1,1) |
matplotlib.pyplot.plot(samps_t, samps_I) |
matplotlib.pyplot.plot(samps_t, samps_Q) |
#matplotlib.pyplot.figure(2) |
matplotlib.pyplot.subplot(3,1,2) |
#matplotlib.pyplot.plot(samps_t, samps_freq) |
matplotlib.pyplot.plot(samps_t, samps_phi) |
matplotlib.pyplot.subplot(3,1,3) |
matplotlib.pyplot.plot(adc_t, adc_I) |
matplotlib.pyplot.show() |
/trunk/create_IQ_tone.py
0,0 → 1,65
import matplotlib.pyplot |
import numpy |
import math |
out_file_samp = open("IQ_tone_signal.txt", "w") |
out_file_ping = open("IQ_tone_ping.txt", "w") |
samp_rate = 50000 # Hz |
data_duration = 0.05 # s |
tone_freq = 5000 # Hz |
ping_duration = 0.002 # s |
ping_amplitude = 15 |
echo_position = 0.025 # s |
echo_amplitude = 10 |
|
time_acc = 0 |
time_delta = 1.0 / samp_rate |
tone_omega = 2.0 * math.pi * 5000 |
ping_length = 0 |
data_length = 0 |
|
samps_t = [] |
samps_I = [] |
samps_Q = [] |
|
pings_t = [] |
pings_I = [] |
pings_Q = [] |
|
samp_I = 0 |
samp_Q = 0 |
|
while time_acc < data_duration : |
if time_acc < ping_duration : |
samp_I = ping_amplitude * math.cos(tone_omega * time_acc) |
samp_Q = ping_amplitude * math.sin(tone_omega * time_acc) |
pings_t.append(time_acc); |
pings_I.append(samp_I); |
pings_Q.append(samp_Q); |
out_file_ping.write("{0:04x}\r\n{1:04x}\r\n".format(int(samp_I) & 0xFFFF, int(samp_Q) & 0xFFFF)) |
ping_length += 1 |
else : |
if (time_acc >= echo_position) and (time_acc < echo_position + ping_duration) : |
samp_I = echo_amplitude * math.cos(tone_omega * time_acc) |
samp_Q = echo_amplitude * math.sin(tone_omega * time_acc) |
else : |
samp_I = 0 |
samp_Q = 0 |
samps_t.append(time_acc); |
samps_I.append(samp_I); |
samps_Q.append(samp_Q); |
out_file_samp.write("{0:04x}\r\n{1:04x}\r\n".format(int(samp_I) & 0xFFFF, int(samp_Q) & 0xFFFF)) |
data_length += 1 |
time_acc += time_delta |
out_file_ping.close() |
out_file_samp.close() |
print "ping length = ", ping_length |
print "data length = ", data_length |
matplotlib.pyplot.figure(1) |
matplotlib.pyplot.subplot(3,1,1) |
matplotlib.pyplot.plot(samps_t, samps_I) |
matplotlib.pyplot.plot(samps_t, samps_Q) |
#matplotlib.pyplot.figure(2) |
matplotlib.pyplot.subplot(3,1,2) |
matplotlib.pyplot.plot(pings_t, pings_I) |
matplotlib.pyplot.plot(pings_t, pings_Q) |
matplotlib.pyplot.show() |
/trunk/single_port_ram.v
0,0 → 1,24
module single_port_ram |
#( |
parameter DATA_WIDTH=8, |
parameter ADDR_WIDTH=6) |
( |
input clk, |
input we, |
input [DATA_WIDTH - 1:0] d_wr, |
input [ADDR_WIDTH - 1:0] addr, |
output [DATA_WIDTH - 1:0] d_rd |
); |
|
reg [DATA_WIDTH - 1:0] RAM_array [2**ADDR_WIDTH - 1:0]; |
reg [ADDR_WIDTH - 1:0] read_addr_reg; |
|
always @ (posedge clk) |
begin |
if (we) |
RAM_array[addr] <= d_wr; |
read_addr_reg <= addr; |
end |
|
assign d_rd = RAM_array[read_addr_reg]; |
endmodule |
/trunk/IQ_chirp_ping.txt
0,0 → 1,100
0000 |
001f |
0000 |
001f |
0001 |
001f |
0003 |
001f |
0006 |
001f |
0009 |
001e |
000d |
001c |
0012 |
0019 |
0017 |
0015 |
001b |
0010 |
001e |
0009 |
001f |
0001 |
001f |
fff8 |
001b |
ffef |
0014 |
ffe7 |
0009 |
ffe2 |
fffe |
ffe1 |
fff1 |
ffe5 |
ffe7 |
ffee |
ffe1 |
fffc |
ffe2 |
000a |
ffeb |
0018 |
fffa |
001f |
000b |
001d |
001a |
0011 |
0020 |
ffff |
0019 |
ffed |
0008 |
ffe1 |
fff3 |
ffe4 |
ffe3 |
fff4 |
ffe2 |
000b |
fff1 |
001c |
0009 |
001e |
001c |
000c |
001d |
fff3 |
0009 |
ffe2 |
ffef |
ffe7 |
ffe1 |
0000 |
ffec |
0019 |
0008 |
001e |
001e |
0008 |
0018 |
ffeb |
fffb |
ffe1 |
ffe2 |
fff8 |
ffe9 |
0017 |
0009 |
001d |
001f |
0001 |
000f |
ffe4 |
ffec |
ffe9 |
ffe2 |
000c |
/trunk/IQ_chirp_signal.txt
0,0 → 1,8000
0000 |
001f |
0000 |
001f |
0001 |
001f |
0003 |
001f |
0006 |
001f |
0009 |
001e |
000d |
001c |
0012 |
0019 |
0017 |
0015 |
001b |
0010 |
001e |
0009 |
001f |
0001 |
001f |
fff8 |
001b |
ffef |
0014 |
ffe7 |
0009 |
ffe2 |
fffe |
ffe1 |
fff1 |
ffe5 |
ffe7 |
ffee |
ffe1 |
fffc |
ffe2 |
000a |
ffeb |
0018 |
fffa |
001f |
000b |
001d |
001a |
0011 |
0020 |
ffff |
0019 |
ffed |
0008 |
ffe1 |
fff3 |
ffe4 |
ffe3 |
fff4 |
ffe2 |
000b |
fff1 |
001c |
0009 |
001e |
001c |
000c |
001d |
fff3 |
0009 |
ffe2 |
ffef |
ffe7 |
ffe1 |
0000 |
ffec |
0019 |
0008 |
001e |
001e |
0008 |
0018 |
ffeb |
fffb |
ffe1 |
ffe2 |
fff8 |
ffe9 |
0017 |
0009 |
001d |
001f |
0001 |
000f |
ffe4 |
ffec |
ffe9 |
ffe2 |
000c |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
0004 |
0000 |
000f |
0000 |
000f |
0000 |
000f |
0001 |
000f |
0003 |
000f |
0005 |
000f |
0007 |
000e |
0009 |
000c |
000b |
000a |
000d |
0008 |
000f |
0004 |
000f |
0000 |
000f |
fffc |
000d |
fff8 |
0009 |
fff4 |
0004 |
fff1 |
ffff |
fff1 |
fff9 |
fff3 |
fff3 |
fff8 |
fff1 |
fffe |
fff1 |
0005 |
fff6 |
000c |
fffe |
000f |
0006 |
000e |
000d |
0008 |
000f |
ffff |
000c |
fff6 |
0003 |
fff1 |
fff9 |
fff2 |
fff2 |
fffb |
fff1 |
0006 |
fffa |
000e |
0005 |
000e |
000e |
0005 |
000e |
fff9 |
0004 |
fff1 |
fff7 |
fff4 |
fff1 |
0000 |
fff7 |
000d |
0004 |
000e |
000f |
0003 |
000b |
fff5 |
fffd |
fff1 |
fff1 |
fffd |
fff6 |
000c |
0005 |
000e |
000f |
0000 |
0007 |
fff2 |
fff6 |
fff5 |
fff2 |
0006 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
0000 |
0003 |
/trunk/IQ_tone_ping.txt
0,0 → 1,200
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
/trunk/IQ_tone_signal.txt
0,0 → 1,5002
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
000f |
0000 |
000c |
0008 |
0004 |
000e |
fffc |
000e |
fff4 |
0008 |
fff1 |
0000 |
fff4 |
fff8 |
fffc |
fff2 |
0004 |
fff2 |
000c |
fff8 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0008 |
0005 |
0003 |
0009 |
fffd |
0009 |
fff8 |
0005 |
fff6 |
0000 |
fff8 |
fffb |
fffd |
fff7 |
0003 |
fff7 |
0008 |
fffb |
000a |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
0000 |
/trunk/FIR_cascaded.v
0,0 → 1,386
/* |
FIR filter with comples samples |
convolution computation divided into blocks for parallel processing |
then summ of results in blocks is computed |
|
filter designed to evaluate convolution of echo-signal |
it works in two modes: |
1 - echo-signal with ping signal leaked into input assumed. FIR takes first n (loadable runtime) samples in frame into pulse response RAM and convolutes other samples in frame with first n |
n is ping signal length |
frame begins with inp_ping_start strobe |
|
2 - pulse response RAM loaded through parallel interface (Data, Addres, WR, I/Q) |
|
Number of cycles required to compute one sample is determined by formula |
block_length + number_of_blocks + 11 |
it is constant for synthesized filter |
|
block_length and number_of_blocks should be power of 2 |
for example |
pulse response RAM depth is 2**11 = 2048 |
block size is 2**8 = 256 |
number of blocks is 2048/256 = 2**(11-8) = 8 |
|
block_length + number_of_blocks + 11 = 256 + 8 + 11 = 275 |
|
In any case filter yelds output samples after n = 2**PING_ADDR_WIDTH samples |
|
*/ |
module FIR_cascaded |
#( |
parameter INP_SAMP_WIDTH = 14, // imput samples width |
parameter PING_ADDR_WIDTH = 11, // address width of pulse response characteristic samples |
parameter CONV_MEM_BLOCK_ADDR_WIDTH = 10, // address width of block |
parameter FRAME_ADDR_WIDTH = 18, // address width of counter of samples in frame |
parameter OUT_SAMP_WIDTH = 18, // output samples width |
parameter CLK_TO_SAMP_ADDR_WIDTH = 11, // clocks in frame counter width |
//for debug. out_samp_A_sq is I^2 + Q^2 |
parameter OUT_SAMP_A_SQ_WIDTH = 8, // width of out_samp_A_sq |
parameter OUT_SAMP_A_SQ_OFFS = 8 // downscale for out_samp_A_sq. OUT_SAMP_A_SQ_OFFS and next OUT_SAMP_A_SQ_WIDTH bits goes to the output |
) |
( |
// ping means first n=inp_ping_length samples, which can be loaded into ping RAM, where stores FIR coefficients or pulse response |
input clk, // clock |
input reset, // reset |
input inp_clk, // input samples strobes |
input inp_ping_start, // frame strobes |
input signed [INP_SAMP_WIDTH - 1:0] inp_samp_I, // input samples Re |
input signed [INP_SAMP_WIDTH - 1:0] inp_samp_Q, // input samples Im |
input [PING_ADDR_WIDTH - 1:0] inp_ping_length, // ping duration, in samples |
input IOB_ping_from_Rx, // 1 - take pulse response from input samles, 0 - do not take pulse response from input samples, assumes load coefficient through parallel interface |
input IOB_ping_RAM_CS, // select coefficient RAM |
inout signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D, // coefficient RAM, data |
input IOB_ping_RAM_IQ, // coefficient RAM, I/Q select. 0 - I, 1 - Q |
input signed [PING_ADDR_WIDTH - 1:0] IOB_ping_RAM_A, // coefficient RAM, address |
input IOB_ping_RAM_WR, // coefficient RAM, write enable |
input IOB_ping_RAM_RD, // coefficient RAM, read enable |
output signed [OUT_SAMP_WIDTH - 1:0] out_samp_I, // output samples, Re |
output signed [OUT_SAMP_WIDTH - 1:0] out_samp_Q, // output samples, Im |
output signed [OUT_SAMP_A_SQ_WIDTH - 1:0] out_samp_A_sq, // I^2 + Q^2, for debug |
output out_samp_strobe, // output sample strobe |
output out_frame_strobe // output frame strobe |
); |
|
//wire signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D; |
//wire signed [PING_ADDR_WIDTH - 1:0] IOB_ping_RAM_A; |
parameter CONV_BLOCK_ADDR_WIDTH = PING_ADDR_WIDTH - CONV_MEM_BLOCK_ADDR_WIDTH; // address width for blocks counting |
reg [2**CONV_BLOCK_ADDR_WIDTH - 1:0] IOB_ping_RAM_A_bank_sel; // one-hot block select for WR coefficients through parallel bus |
reg [PING_ADDR_WIDTH - 1:0] inp_ping_length_reg; // inp_ping_length store register |
reg [FRAME_ADDR_WIDTH - 1:0] sample_counter; // sample in frame counter |
reg inp_ping_start_str; // frame begins strobe |
reg inp_ping_start_catch; // for generating inp_ping_start_catch |
reg inp_clk_str; // sample begins strobe |
reg inp_clk_catch; // for generating inp_clk_str |
reg ping_to_store; // set to 1 from frame begining to the end of ping. While 1 and if should take input samples to coefficients, to store input samples into coefficient RAM |
reg [2**CONV_BLOCK_ADDR_WIDTH:0] ping_to_store_n; // one-hot to select block in coefficients RAM to store sample |
reg [CLK_TO_SAMP_ADDR_WIDTH - 1:0] clk_to_samp_counter; // clock between samples counter, used to calculation of output samples |
reg signed [OUT_SAMP_WIDTH - 1:0] out_samp_I_reg; // register to store output Re samples |
reg signed [OUT_SAMP_WIDTH - 1:0] out_samp_Q_reg; // register to store output Im samples |
reg signed [OUT_SAMP_WIDTH - 1:0] samp_mult_II[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // multipliers for output sample calculation, Re*Re |
reg signed [OUT_SAMP_WIDTH - 1:0] samp_mult_QQ[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // multipliers for output sample calculation, Im*Im |
reg signed [OUT_SAMP_WIDTH - 1:0] samp_mult_QI[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // multipliers for output sample calculation, Im*Re |
reg signed [OUT_SAMP_WIDTH - 1:0] samp_mult_IQ[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // multipliers for output sample calculation, Re*Im |
reg signed [OUT_SAMP_WIDTH - 1:0] out_samp_acc_I[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // accumulators for calculation summ in block Re |
reg signed [OUT_SAMP_WIDTH - 1:0] out_samp_acc_Q[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // accumulators for calculation summ in block Im |
wire signed [OUT_SAMP_WIDTH - 1:0] out_samp_acc_Q_selected; // accumulators for calculation summ in block Im |
//reg signed [OUT_SAMP_WIDTH - 1:0] out_samp_acc_result_I[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // регистр хранения результата вычисления отсчёта свёртки канала I |
//reg signed [OUT_SAMP_WIDTH - 1:0] out_samp_acc_result_Q[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // регистр хранения результата вычисления отсчёта свёртки канала Q |
reg signed [OUT_SAMP_WIDTH - 1:0] blocks_acc_I; // summ of summs in blocks accumulator, Re |
reg signed [OUT_SAMP_WIDTH - 1:0] blocks_acc_Q; // summ of summs in blocks accumulator, Re |
reg signed [OUT_SAMP_WIDTH*2 :0] out_samp_A_sq_reg; // Re^2 + Im^2 register, for debug |
reg [CONV_MEM_BLOCK_ADDR_WIDTH - 1:0] addr_ping; // coefficient address register for convolution calculation |
reg [CLK_TO_SAMP_ADDR_WIDTH:0] addr_echo; // TODO: width CONV_BLOCK_ADDR_WIDTH + CONV_MEM_BLOCK_ADDR_WIDTH |
reg proc_store_samp; // sets for saving samples |
reg proc_count_blocks; // sets when reading data from coefficient RAM and samples RAM |
reg proc_count_blocks_acc; // sets for summs in blocks calculating |
reg proc_count_blocks_sum; // sets for summs of summs in block calculating |
reg [CONV_BLOCK_ADDR_WIDTH - 1:0] blocks_sum_counter; // block number counter for summs of summs in block calculating |
|
reg signed [INP_SAMP_WIDTH - 1:0] multiplier_ping_I[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // Re coefficient register for multiplication |
reg signed [INP_SAMP_WIDTH - 1:0] multiplier_ping_Q[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // Im coefficient register for multiplication |
reg signed [INP_SAMP_WIDTH - 1:0] multiplier_echo_I[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // Re sample register for multiplication |
reg signed [INP_SAMP_WIDTH - 1:0] multiplier_echo_Q[2**CONV_BLOCK_ADDR_WIDTH - 1:0]; // Im sample register for multiplication |
|
// Buses of RAM for storing coefficients and data samples |
// address bus is shared, data and control buses are separated for Re and Im |
wire signed [INP_SAMP_WIDTH - 1:0] ping_RAM_D_I [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire signed [INP_SAMP_WIDTH - 1:0] ping_RAM_D_Q [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire [CONV_MEM_BLOCK_ADDR_WIDTH - 1:0] ping_RAM_A [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
//wire [CONV_MEM_BLOCK_ADDR_WIDTH - 1:0] ping_RAM_A_buf; |
wire signed [INP_SAMP_WIDTH - 1:0] ping_RAM_Q_I [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire signed [INP_SAMP_WIDTH - 1:0] ping_RAM_Q_Q [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire ping_RAM_W_I [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire ping_RAM_W_Q [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire signed [INP_SAMP_WIDTH - 1:0] samp_RAM_D_I [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire signed [INP_SAMP_WIDTH - 1:0] samp_RAM_D_Q [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire [CONV_MEM_BLOCK_ADDR_WIDTH - 1:0] samp_RAM_A [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire signed [INP_SAMP_WIDTH - 1:0] samp_RAM_Q_I [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire signed [INP_SAMP_WIDTH - 1:0] samp_RAM_Q_Q [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
wire samp_RAM_W [2**CONV_BLOCK_ADDR_WIDTH - 1:0]; |
|
reg out_samp_strobe_reg; // register for generating out_samp_strobe |
reg out_frame_strobe_reg; // register for generating out_frame_strobe |
// RAM for coefficients - ping and for data - samp |
// number of blocks is 2**CONV_BLOCK_ADDR_WIDTH * 2 (ping, samp) * 2 (I, Q) |
generate |
genvar i_ram; |
for (i_ram = 0; i_ram < 2**CONV_BLOCK_ADDR_WIDTH; i_ram = i_ram + 1) begin : gen_ram |
single_port_ram |
#( |
.DATA_WIDTH (INP_SAMP_WIDTH), |
.ADDR_WIDTH (CONV_MEM_BLOCK_ADDR_WIDTH)) |
ping_RAM_I |
( |
.clk (~clk), |
.d_wr (ping_RAM_D_I[i_ram]), |
.addr (ping_RAM_A[i_ram]), |
.we (ping_RAM_W_I[i_ram]), |
.d_rd (ping_RAM_Q_I[i_ram]) |
); |
single_port_ram |
#( |
.DATA_WIDTH (INP_SAMP_WIDTH), |
.ADDR_WIDTH (CONV_MEM_BLOCK_ADDR_WIDTH)) |
ping_RAM_Q |
( |
.clk (~clk), |
.d_wr (ping_RAM_D_Q[i_ram]), |
.addr (ping_RAM_A[i_ram]), |
.we (ping_RAM_W_Q[i_ram]), |
.d_rd (ping_RAM_Q_Q[i_ram]) |
); |
single_port_ram |
#( |
.DATA_WIDTH (INP_SAMP_WIDTH), |
.ADDR_WIDTH (CONV_MEM_BLOCK_ADDR_WIDTH)) |
samp_RAM_I |
( |
.clk (~clk), |
.d_wr (samp_RAM_D_I[i_ram]), |
.addr (samp_RAM_A[i_ram]), |
.we (samp_RAM_W[i_ram]), |
.d_rd (samp_RAM_Q_I[i_ram]) |
); |
single_port_ram |
#( |
.DATA_WIDTH (INP_SAMP_WIDTH), |
.ADDR_WIDTH (CONV_MEM_BLOCK_ADDR_WIDTH)) |
samp_RAM_Q |
( |
.clk (~clk), |
.d_wr (samp_RAM_D_Q[i_ram]), |
.addr (samp_RAM_A[i_ram]), |
.we (samp_RAM_W[i_ram]), |
.d_rd (samp_RAM_Q_Q[i_ram]) |
); |
end // for |
endgenerate |
|
// strobes for frame start ang sample start |
always @ (negedge clk or posedge reset) begin |
if (reset) begin |
inp_ping_start_catch <= 0; |
inp_ping_start_str <= 0; |
inp_clk_catch <= 0; |
inp_clk_str <= 0; |
end else begin |
inp_ping_start_catch <= inp_ping_start; |
inp_ping_start_str <= inp_ping_start & ~inp_ping_start_catch; |
inp_clk_catch <= inp_clk; |
inp_clk_str <= inp_clk & ~inp_clk_catch; |
end |
end //always |
|
// one-hot for ping_RAM block selecting for access from parallel interface |
always @(IOB_ping_RAM_A) begin |
IOB_ping_RAM_A_bank_sel = {2**CONV_BLOCK_ADDR_WIDTH{1'b0}}; |
IOB_ping_RAM_A_bank_sel[IOB_ping_RAM_A[CONV_MEM_BLOCK_ADDR_WIDTH + CONV_BLOCK_ADDR_WIDTH - 1 : CONV_MEM_BLOCK_ADDR_WIDTH]] = 1'b1; |
end //always |
|
// sample number "sample_counter", ping present signal "ping_to_store" and ping_RAM block number to store ping "ping_to_store_n" |
always @ (negedge clk) |
begin |
if (inp_ping_start_str) begin |
inp_ping_length_reg <= inp_ping_length; |
sample_counter <= 0; |
ping_to_store <= 1; |
ping_to_store_n = 1; |
end else begin |
if (inp_clk_str) begin |
sample_counter <= sample_counter + 1; |
if (sample_counter[PING_ADDR_WIDTH - 1:0] == inp_ping_length_reg) begin // ping ends, stop storing samples to coefficients RAM |
ping_to_store <= 0; |
end |
if (sample_counter[CONV_MEM_BLOCK_ADDR_WIDTH - 1 : 0] == {CONV_MEM_BLOCK_ADDR_WIDTH{1'b1}}) begin // addres goes to the next bank |
ping_to_store_n = ping_to_store_n << 1; |
end |
end |
end |
end |
|
// clock counter, counts clocks in frame, used to convolution calculating |
always @ (negedge clk) |
begin |
clk_to_samp_counter <= inp_clk_str ? 0 : (clk_to_samp_counter + 1); |
end |
|
// clk_to_samp_counter |
// 0 registers initialization |
// 1 store sample into RAM |
// 2 /summands calculation (II, IQ, QI, QQ) |
// 5 | 2**CONV_MEM_BLOCK_ADDR_WIDTH + 3 такта /summs in blocks calculation |
// 2**CONV_MEM_BLOCK_ADDR_WIDTH + 5 \ | |
// 2**CONV_MEM_BLOCK_ADDR_WIDTH + 6 / summs of summs in blocks calculation \ |
// 2**CONV_MEM_BLOCK_ADDR_WIDTH + 6 | |
// + 2**CONV_BLOCK_ADDR_WIDTH \ |
// 2**CONV_MEM_BLOCK_ADDR_WIDTH + 7 output result, sample strobe and frame strobe |
// + 2**CONV_BLOCK_ADDR_WIDTH |
always @ (negedge clk) |
begin |
if (inp_clk_str) begin |
proc_store_samp <= 0; |
proc_count_blocks <= 0; |
proc_count_blocks_acc <= 0; |
proc_count_blocks_sum <= 0; |
end else begin |
proc_store_samp = clk_to_samp_counter == 0; |
if (clk_to_samp_counter == 2) begin |
proc_count_blocks <= 1; // begin to calculate convolution in blocks |
end else if (clk_to_samp_counter == 2**CONV_MEM_BLOCK_ADDR_WIDTH + 5) begin |
proc_count_blocks <= 0; // finish |
end |
if (clk_to_samp_counter == 5) begin |
proc_count_blocks_acc <= 1; // begin to calculate summs in blocks |
end else if (clk_to_samp_counter == 2**CONV_MEM_BLOCK_ADDR_WIDTH + 7) begin |
proc_count_blocks_acc <= 0; // finish |
end |
if (clk_to_samp_counter == 2**CONV_MEM_BLOCK_ADDR_WIDTH + 6) begin |
proc_count_blocks_sum <= 1; // begin to count summs of summs |
end else if (clk_to_samp_counter == 2**CONV_MEM_BLOCK_ADDR_WIDTH + 7 + 2**CONV_BLOCK_ADDR_WIDTH) begin // continue for 2**CONV_BLOCK_ADDR_WIDTH times |
proc_count_blocks_sum <= 0; // finish |
end |
end |
end |
|
assign out_samp_acc_Q_selected = out_samp_acc_Q[blocks_sum_counter]; |
// coefficient address counter, sample address counter |
always @ (negedge clk or posedge proc_store_samp) |
begin |
if (proc_store_samp) begin |
addr_ping <= 0; |
addr_echo <= sample_counter - (2**PING_ADDR_WIDTH - 1); |
end else if (proc_count_blocks) begin |
addr_ping <= addr_ping + 1; |
addr_echo <= addr_echo + 1; |
end |
end |
|
// bidirectional bus for coefficient RAM |
assign IOB_ping_RAM_D = (IOB_ping_RAM_RD & IOB_ping_RAM_CS) ? // Data bus, Z if read not selected |
(IOB_ping_RAM_IQ ? // if read, then I or Q |
ping_RAM_D_Q[IOB_ping_RAM_A[CONV_MEM_BLOCK_ADDR_WIDTH + CONV_BLOCK_ADDR_WIDTH - 1 : CONV_MEM_BLOCK_ADDR_WIDTH]] |
: ping_RAM_D_I[IOB_ping_RAM_A[CONV_MEM_BLOCK_ADDR_WIDTH + CONV_BLOCK_ADDR_WIDTH - 1 : CONV_MEM_BLOCK_ADDR_WIDTH]] |
) : {INP_SAMP_WIDTH{1'bZ}}; |
wire [2**CONV_BLOCK_ADDR_WIDTH - 1 : 0] block_num_buf[2**CONV_BLOCK_ADDR_WIDTH - 1 : 0]; // block number for coefficient |
reg [2**CONV_BLOCK_ADDR_WIDTH - 1 : 0] block_num_buf_reg[2**CONV_BLOCK_ADDR_WIDTH - 1 : 0]; // delayed for using in convolution calculation pipe |
// convolution calculating blocks |
genvar mac_block; |
generate |
for (mac_block = 0; mac_block < 2**CONV_BLOCK_ADDR_WIDTH; mac_block = mac_block + 1) |
begin : mac_blocks |
// RAM buses |
// coefficient RAM buses |
// Data bus: if IOB_ping_from_Rx = 0 - coefficient RAM loaded from parallel bus and CS set then here is data from parallel bus |
// else if flag ping is present is set, then here is input samples |
assign ping_RAM_D_I[mac_block] = (IOB_ping_RAM_CS & ~IOB_ping_from_Rx) ? IOB_ping_RAM_D : (ping_to_store ? inp_samp_I : 0); |
assign ping_RAM_D_Q[mac_block] = (IOB_ping_RAM_CS & ~IOB_ping_from_Rx) ? IOB_ping_RAM_D : (ping_to_store ? inp_samp_Q : 0); |
// address bus: if IOB_ping_from_Rx = 0 - coefficient RAM loaded from parallel bus and CS set then here is address from parallel bus |
// else if inp_clk_str is set - here is address for storing input samples |
// else here is coefficient address for convolution calculation |
assign ping_RAM_A [mac_block] = (IOB_ping_RAM_CS & ~IOB_ping_from_Rx) ? IOB_ping_RAM_A[CONV_MEM_BLOCK_ADDR_WIDTH - 1:0] : (proc_store_samp ? sample_counter[CONV_MEM_BLOCK_ADDR_WIDTH - 1:0] : addr_ping[CONV_MEM_BLOCK_ADDR_WIDTH - 1:0]); |
// write strobe |
// if coefficient RAM loading from parallel bus selected, then with WE on parallel bus generated WE for appropriate block of coefficient RAM |
// else WE generated with input samples while ping is present |
assign ping_RAM_W_I[mac_block] = (IOB_ping_RAM_CS & ~IOB_ping_from_Rx & IOB_ping_RAM_WR & ~IOB_ping_RAM_IQ & IOB_ping_RAM_A_bank_sel[mac_block]) | (IOB_ping_from_Rx & proc_store_samp & ping_to_store_n[mac_block]); |
assign ping_RAM_W_Q[mac_block] = (IOB_ping_RAM_CS & ~IOB_ping_from_Rx & IOB_ping_RAM_WR & IOB_ping_RAM_IQ & IOB_ping_RAM_A_bank_sel[mac_block]) | (IOB_ping_from_Rx & proc_store_samp & ping_to_store_n[mac_block]); |
// samples RAM buses |
assign samp_RAM_D_I[mac_block] = inp_samp_I; |
assign samp_RAM_D_Q[mac_block] = inp_samp_Q; |
// with new sample address for storing new sample then address for reading for convolution calculation |
assign samp_RAM_A[mac_block] = proc_store_samp ? sample_counter[CONV_MEM_BLOCK_ADDR_WIDTH - 1:0] : addr_echo[CONV_MEM_BLOCK_ADDR_WIDTH - 1:0]; |
// with new sample WE for appropriate block of samples RAM is set |
assign samp_RAM_W[mac_block] = proc_store_samp & (sample_counter[CONV_MEM_BLOCK_ADDR_WIDTH + CONV_BLOCK_ADDR_WIDTH - 1:CONV_MEM_BLOCK_ADDR_WIDTH] == mac_block); |
// block number for reading sample for convolution calculating is evaluated as summ of its number and address offset counted in blocks, floor(addr/sizeof(block)) |
assign block_num_buf[mac_block] = (mac_block + addr_echo[CONV_MEM_BLOCK_ADDR_WIDTH + CONV_BLOCK_ADDR_WIDTH - 1:CONV_MEM_BLOCK_ADDR_WIDTH]) & {CONV_BLOCK_ADDR_WIDTH{1'b1}}; |
always @ (negedge clk or negedge proc_count_blocks) begin |
block_num_buf_reg[mac_block] <= block_num_buf[mac_block]; |
// registers initialization if convolution not processed |
if (~proc_count_blocks) begin |
multiplier_ping_I[mac_block] <= 0; |
multiplier_ping_Q[mac_block] <= 0; |
multiplier_echo_I[mac_block] <= 0; |
multiplier_echo_Q[mac_block] <= 0; |
samp_mult_II[mac_block] <= 0; |
samp_mult_QQ[mac_block] <= 0; |
end else begin |
// multipiers are read from its block with no offset |
multiplier_ping_I[mac_block] <= ping_RAM_Q_I[mac_block]; |
multiplier_ping_Q[mac_block] <= ping_RAM_Q_Q[mac_block]; |
// multipliers of samples are read with offset |
multiplier_echo_I[mac_block] <= samp_RAM_Q_I[block_num_buf_reg[mac_block]]; |
multiplier_echo_Q[mac_block] <= samp_RAM_Q_Q[block_num_buf_reg[mac_block]]; |
// summands of convolution Si + jSq = Ai*Bi-Aq*Bq + j(Ai*Bq + Aq*Bi) |
samp_mult_II[mac_block] <= multiplier_ping_I[mac_block] * multiplier_echo_I[mac_block]; |
samp_mult_QQ[mac_block] <= multiplier_ping_Q[mac_block] * multiplier_echo_Q[mac_block]; |
samp_mult_QI[mac_block] <= multiplier_ping_Q[mac_block] * multiplier_echo_I[mac_block]; |
samp_mult_IQ[mac_block] <= multiplier_ping_I[mac_block] * multiplier_echo_Q[mac_block]; |
end |
end // always |
always @ (negedge clk ) begin |
if (inp_clk_str) begin |
out_samp_acc_I[mac_block] <= 0; |
out_samp_acc_Q[mac_block] <= 0; |
end else if (proc_count_blocks_acc) begin |
// use II - QQ and QI + IQ to get complex FIR or use II and QQ to get real FIR |
out_samp_acc_I[mac_block] <= out_samp_acc_I[mac_block] + samp_mult_II[mac_block] + samp_mult_QQ[mac_block]; |
//out_samp_acc_I[mac_block] <= out_samp_acc_I[mac_block] + samp_mult_II[mac_block]; |
out_samp_acc_Q[mac_block] <= out_samp_acc_Q[mac_block] - samp_mult_QI[mac_block] + samp_mult_IQ[mac_block]; |
//out_samp_acc_Q[mac_block] <= out_samp_acc_Q[mac_block] + samp_mult_QQ[mac_block]; |
end |
end |
end // for |
endgenerate |
|
always @ (negedge clk) |
begin |
if (inp_clk_str) begin |
blocks_sum_counter <= 0; |
blocks_acc_I <= 0; |
blocks_acc_Q <= 0; |
end else begin |
if (proc_count_blocks_sum) begin // here is summ of summs calculation |
blocks_sum_counter <= blocks_sum_counter + 1; |
blocks_acc_I <= blocks_acc_I + out_samp_acc_I[blocks_sum_counter]; |
blocks_acc_Q <= blocks_acc_Q + out_samp_acc_Q[blocks_sum_counter]; |
end |
if (clk_to_samp_counter == 2**CONV_MEM_BLOCK_ADDR_WIDTH + 7 + 2**CONV_BLOCK_ADDR_WIDTH) begin // convolution sample ready, move result to output register |
out_samp_I_reg <= blocks_acc_I; |
out_samp_Q_reg <= blocks_acc_Q; |
end |
end //if |
end // always |
|
// sample strobe, frame strobe and |output|^2 for debug |
always @ (negedge clk ) begin |
// output strobes outputs with output sample |
out_samp_strobe_reg <= clk_to_samp_counter == 2**CONV_MEM_BLOCK_ADDR_WIDTH + 7 + 2**CONV_BLOCK_ADDR_WIDTH; |
out_frame_strobe_reg <= (clk_to_samp_counter == 2**CONV_MEM_BLOCK_ADDR_WIDTH + 7 + 2**CONV_BLOCK_ADDR_WIDTH) & (sample_counter == 0) & ping_to_store_n[0]; |
out_samp_A_sq_reg <= out_samp_I_reg * out_samp_I_reg + out_samp_Q_reg * out_samp_Q_reg; |
end |
|
assign out_samp_strobe = out_samp_strobe_reg; |
assign out_frame_strobe = out_frame_strobe_reg; |
assign out_samp_I = out_samp_I_reg; |
assign out_samp_Q = out_samp_Q_reg; |
assign out_samp_A_sq = out_samp_A_sq_reg[OUT_SAMP_A_SQ_WIDTH + OUT_SAMP_A_SQ_OFFS - 1:OUT_SAMP_A_SQ_OFFS]; |
endmodule |
/trunk/How_to.txt
0,0 → 1,13
How to run simulation with Icarus and GTKWave |
|
iverilog -o dsn FIR_cascaded_tb.v FIR_cascaded.v single_port_ram.v |
vvp dsn |
gtkwave test.vcd --save=convolution_calculation_in_and_out.gtkw & |
|
create_IQ_*.py creates IQ_*_ping.py and IQ_*_signal.py files |
it used by testbench. _ping contains coefficients loaded through parallel interface and _signal contains input signal |
to run *.py script should be installed |
python - python interpreter |
matplotlib - plot modelled signals |
numpy - arrays |
math - thrigonometric functions |