A python package for ultra bandwidth signal process, can divide signal into several narrow bandwidth signal
Project description
Channelizer
For ultra bandwidth signal process
Supporting:
- Critically sampled channelizer
- Integer-oversampled channelizer
- Rationally-oversampled channelizer
Using them by modify M and D
Code Example:
# filter taps:
TAPS = 63
# channel_num(branch), Number of frequency bands :
CHANNEL_NUM = 4
# M equal channel_num(branch), more article call it M:
M = CHANNEL_NUM
# Decimation factor
D = 3
# if D = M : Critical polyphase filter bank(CSPFB)
# if M is multiples of D : Integer-oversample filter bank(IOSPFB)
# else if D < M : Rationally-oversampled filter bank(ROSPFB)
np_data = np.loadtxt(r'\mini_data.txt')
coe = realignment_coe(TAPS, CHANNEL_NUM, D)
polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)
fft_res = np.fft.ifft(polyphase_filter_res, axis=0)
plot_sub(fft_res, CHANNEL_NUM, "DX " + str(CHANNEL_NUM) + "/" + str(D) + "X channelizer with z gcd result:")
coe = realignment_coe(TAPS, CHANNEL_NUM, D)
polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)
rotate_res = circular_rotate(polyphase_filter_res, CHANNEL_NUM, D)
fft_res = np.fft.ifft(rotate_res, axis=0)
plot_sub(fft_res, CHANNEL_NUM,"DX " + str(CHANNEL_NUM) + "/" + str(D) + "X channelizer with z gcd and rotate result:")
coe = realignment_coe(TAPS, CHANNEL_NUM, D)
polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)
rotate_res = circular_rotate(polyphase_filter_res, CHANNEL_NUM, D)
cut_res = cut_extra_channel_data_by_tail(np.fft.fft(np.fft.ifft(rotate_res, axis=0)), CHANNEL_NUM,D) * D / M
plot_sub(np.fft.ifft(cut_res), CHANNEL_NUM,"DX " + str(CHANNEL_NUM) + "/" + str(D) + "X channelizer with z gcd rotate and cut result:")
Install
pip install channelizer
Or clone code
More detail and information please access curent project's pypi website
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
channelizers-1.0.tar.gz
(19.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file channelizers-1.0.tar.gz.
File metadata
- Download URL: channelizers-1.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2922c5f48372fa300cf4ea6775564293ded95c50b982c95f220b5efee0019241
|
|
| MD5 |
179f817578841ec50d242e34a3df9332
|
|
| BLAKE2b-256 |
9f403a890bf59a9b0bf7ca9565e5dc47cfadc7cd0ec6b4eb083ffb7befa91115
|
File details
Details for the file channelizers-1.0-py3-none-any.whl.
File metadata
- Download URL: channelizers-1.0-py3-none-any.whl
- Upload date:
- Size: 2.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff59e2db6b0057181a91f41befbc68fcd16d44923359350168a16e65ba954b6b
|
|
| MD5 |
9d19d48b1af25f4897b7237378607798
|
|
| BLAKE2b-256 |
2418f1483b12958d10e77020e1602208bc93a7d2ff37b57d9e46e7d909f5ad71
|