# 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: ###
```python
# 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 ###
Raw data
{
"_id": null,
"home_page": "https://github.com/WhataDavid/Channelizer",
"name": "channelizers",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "python, channelizer, PFB, ultra bandwidth signal, astronomy",
"author": "duxu",
"author_email": "duxu@xao.ac.cn",
"download_url": "https://files.pythonhosted.org/packages/9f/40/3a890bf59a9b0bf7ca9565e5dc47cfadc7cd0ec6b4eb083ffb7befa91115/channelizers-1.0.tar.gz",
"platform": null,
"description": "\r\n# Channelizer\r\n### For ultra bandwidth signal process ###\r\n### Supporting: ###\r\n- Critically sampled channelizer\r\n- Integer-oversampled channelizer\r\n- Rationally-oversampled channelizer\r\n### Using them by modify M and D ###\r\n### Code Example: ###\r\n```python\r\n # filter taps:\r\n TAPS = 63\r\n # channel_num(branch), Number of frequency bands :\r\n CHANNEL_NUM = 4\r\n # M equal channel_num(branch), more article call it M:\r\n M = CHANNEL_NUM\r\n # Decimation factor\r\n D = 3\r\n # if D = M : Critical polyphase filter bank(CSPFB)\r\n # if M is multiples of D : Integer-oversample filter bank(IOSPFB)\r\n # else if D < M : Rationally-oversampled filter bank(ROSPFB)\r\n\r\n np_data = np.loadtxt(r'\\mini_data.txt')\r\n coe = realignment_coe(TAPS, CHANNEL_NUM, D)\r\n polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)\r\n fft_res = np.fft.ifft(polyphase_filter_res, axis=0)\r\n plot_sub(fft_res, CHANNEL_NUM, \"DX \" + str(CHANNEL_NUM) + \"/\" + str(D) + \"X channelizer with z gcd result:\")\r\n \r\n coe = realignment_coe(TAPS, CHANNEL_NUM, D)\r\n polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)\r\n rotate_res = circular_rotate(polyphase_filter_res, CHANNEL_NUM, D)\r\n fft_res = np.fft.ifft(rotate_res, axis=0)\r\n plot_sub(fft_res, CHANNEL_NUM,\"DX \" + str(CHANNEL_NUM) + \"/\" + str(D) + \"X channelizer with z gcd and rotate result:\")\r\n \r\n coe = realignment_coe(TAPS, CHANNEL_NUM, D)\r\n polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)\r\n rotate_res = circular_rotate(polyphase_filter_res, CHANNEL_NUM, D)\r\n cut_res = cut_extra_channel_data_by_tail(np.fft.fft(np.fft.ifft(rotate_res, axis=0)), CHANNEL_NUM,D) * D / M\r\n plot_sub(np.fft.ifft(cut_res), CHANNEL_NUM,\"DX \" + str(CHANNEL_NUM) + \"/\" + str(D) + \"X channelizer with z gcd rotate and cut result:\")\r\n```\r\n### Install ###\r\n```pip install channelizer```\r\n\r\nOr clone code\r\n### More detail and information please access curent project's pypi website ###\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A python package for ultra bandwidth signal process, can divide signal into several narrow bandwidth signal",
"version": "1.0",
"project_urls": {
"Homepage": "https://github.com/WhataDavid/Channelizer"
},
"split_keywords": [
"python",
" channelizer",
" pfb",
" ultra bandwidth signal",
" astronomy"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2418f1483b12958d10e77020e1602208bc93a7d2ff37b57d9e46e7d909f5ad71",
"md5": "9d19d48b1af25f4897b7237378607798",
"sha256": "ff59e2db6b0057181a91f41befbc68fcd16d44923359350168a16e65ba954b6b"
},
"downloads": -1,
"filename": "channelizers-1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9d19d48b1af25f4897b7237378607798",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1960,
"upload_time": "2024-11-24T04:12:28",
"upload_time_iso_8601": "2024-11-24T04:12:28.993957Z",
"url": "https://files.pythonhosted.org/packages/24/18/f1483b12958d10e77020e1602208bc93a7d2ff37b57d9e46e7d909f5ad71/channelizers-1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9f403a890bf59a9b0bf7ca9565e5dc47cfadc7cd0ec6b4eb083ffb7befa91115",
"md5": "179f817578841ec50d242e34a3df9332",
"sha256": "2922c5f48372fa300cf4ea6775564293ded95c50b982c95f220b5efee0019241"
},
"downloads": -1,
"filename": "channelizers-1.0.tar.gz",
"has_sig": false,
"md5_digest": "179f817578841ec50d242e34a3df9332",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19078,
"upload_time": "2024-11-24T04:12:31",
"upload_time_iso_8601": "2024-11-24T04:12:31.336334Z",
"url": "https://files.pythonhosted.org/packages/9f/40/3a890bf59a9b0bf7ca9565e5dc47cfadc7cd0ec6b4eb083ffb7befa91115/channelizers-1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-24 04:12:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "WhataDavid",
"github_project": "Channelizer",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "channelizers"
}