profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/igorauad/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Igor Freire igorauad Brazil Electrical Engineer specialized in digital signal processing for communications.

igorauad/gr-osmosdr 10

Mirrored from git://git.osmocom.org/gr-osmosdr

igorauad/digital_communication_ee379 4

Scripts for my personal study of the Stanford EE379 Digital Communications course

igorauad/digital_pll 2

MATLAB Implementation of a Digital PLL

igorauad/awgn_matlab 1

How to generate AWGN with correct PSD on MATLAB

igorauad/dmt-simulator 1

Discrete Multitone Simulator

igorauad/gnuradio-docker-env 1

GNU Radio development environment on Docker

igorauad/bitstarter 0

This is a barebones Node.js app using the Express framework.

igorauad/data-mining-ppgee 0

Repositório para trabalhos da disciplina Mineração de Dados (PPGEE0138)

igorauad/docker-gnuradio-oot-dev 0

GNU Radio OOT Module Development Docker Environment

igorauad/dotfiles_startup_class 0

Development configuration files for Startup Engineering MOOC. Intended to be forked and customized by students.

push eventigorauad/link-budget

Igor Freire

commit sha ee511e27575d16b1d32023f753fba3a265ad99d8

Add docs status badge on the readme page

view details

push time in 31 minutes

push eventigorauad/link-budget

Igor Freire

commit sha 33e1c9c61a2ed9ffd78521fa744dba3908e79023

Move sphinx requirements to main requirements.txt The goal is to make readthedocs read the correct list of requirements. The readthedocs system can only read from one requirements.txt file, so move the sphinx pre-requisites to the main requirements.txt file and drop the one in the docs/ folder. Also, add a .readthedocs.yaml configuration file to specify the requirements file.

view details

push time in 32 minutes

push eventigorauad/link-budget

Igor Freire

commit sha 8647f0c9f22a901e8ed86c5be6a4201d5c2cfb15

Move sphinx requirements to main requirements.txt The goal is to make readthedocs read the correct list of requirements. The readthedocs system can only read from one requirements.txt file, so move the sphinx pre-requisites to the main requirements.txt file and drop the one in the docs/ folder. Also, add a .readthedocs.yaml configuration file to specify the requirements file.

view details

push time in 34 minutes

delete branch igorauad/link-budget

delete branch : pypi

delete time in an hour

delete tag igorauad/link-budget

delete tag : test-v0.1.4

delete time in an hour

created tagigorauad/link-budget

tagv0.1.4

Link Budget Analysis

created time in an hour

push eventigorauad/link-budget

Igor Freire

commit sha 63b26d65be2200fc47ef12b066ae27fcd5fbba93

Update github url on setup.py

view details

Igor Freire

commit sha a28bbfeb9f2b3573f89b282fa9e3ef83c204bb12

Update itur requirement on setup.py

view details

Igor Freire

commit sha 56c20bbecf81907c5b39af32724706b17ffdd301

Add workflow to publish package to PyPi/TestPyPi

view details

push time in an hour

created tagigorauad/link-budget

tagtest-v0.1.4

Link Budget Analysis

created time in an hour

push eventigorauad/link-budget

Igor Freire

commit sha 1caa4e007acb030dedbfa6a302c2fa041f7f8840

Add workflow to publish package to PyPi/TestPyPi

view details

push time in an hour

delete tag igorauad/link-budget

delete tag : test-v0.1.4

delete time in an hour

created tagigorauad/link-budget

tagtest-v0.1.4

Link Budget Analysis

created time in an hour

push eventigorauad/link-budget

Igor Freire

commit sha 4e918af1d812f7ce16d7837aeeaa30f73d5ee9e6

Add workflow to publish package to PyPi/TestPyPi

view details

push time in an hour

delete tag igorauad/link-budget

delete tag : test-v0.1.4

delete time in an hour

created tagigorauad/link-budget

tagtest-v0.1.4

Link Budget Analysis

created time in an hour

push eventigorauad/link-budget

Igor Freire

commit sha 81ea879f863419e388a9cde22c867fb0ab8dd437

Add workflow to publish package to PyPi/TestPyPi

view details

push time in an hour

create barnchigorauad/link-budget

branch : pypi

created branch time in an hour

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha 088d260798d7427ccf988057c549c34fd58b8ec7

Add notes regarding counter startup and PI output

view details

Igor Freire

commit sha f076c4d9f3327ad90c8c8b2fdc506d675b3610d3

Fix range of processed samples and trimmed output - Process less samples when using the ELTED and the quadratic/cubic interpolators. - Consider the strobe when trimming the output vector.

view details

Igor Freire

commit sha 1cddeb825a1ab83f803811b594c5089de04c1b02

Compute dMF and GTED interpolants when necessary

view details

Igor Freire

commit sha a4bc2d43ef7d48bca759e63e351066477d45e0f2

Change printing format of loop constants

view details

push time in a day

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha 07d98388cbbd0a2198ce7c269b419bcc0ebdaa5d

Review parsing of input args on symbolTimingSync - Fix the assignment of optional args. - Ensure MF and dMF input are column vectors.

view details

Igor Freire

commit sha 66187dd68aa45f69d5d4cf26d43379535db44402

Add notes regarding counter startup and PI output

view details

Igor Freire

commit sha fb0510ee7e14017caa9491cd39a42f9169bb0b17

Fix range of processed samples and trimmed output - Process less samples when using the ELTED and the quadratic/cubic interpolators. - Consider the strobe when trimming the output vector.

view details

Igor Freire

commit sha 3e282cc9950c4bd2e361b9ad917656b11b2134c8

Compute dMF and GTED interpolants when necessary

view details

Igor Freire

commit sha 56e1c1c24b4217b93a9aebc97ff9710feaf6a85f

Change printing format of loop constants

view details

push time in a day

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha ce6dc238da9364b88aca12ae3f2e4264ee9d70b4

Review the readme page - List the supported TEDs and interpolators. - Add link to blog post. - Add receiver block diagram.

view details

push time in 3 days

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha 79e02139b2e49bfea7d225fa05a57eed6b222c91

Review the readme page - List the supported TEDs and interpolators. - Add link to blog post. - Add receiver block diagram.

view details

push time in 3 days

issue commentigorauad/symbol_timing_sync

Help for understanding the code

Hi @sumanthraikar ,

Thanks for your interest in this work and apologies for the long delay. In case you are still studying this topic and using this repository, yes, you are definitely thinking in the right direction. The simulation in this repository simply does not introduce any frequency offset, so the receiver does not experience any. There is no need for (and no implementation of) frequency offset correction since this phenomenon is not simulated. The goal here is mainly to understand the components of a symbol timing recovery loop while evaluating them in nearly ideal conditions (aside from AWGN).

By the way, in case you are interested, I have been looking at this code again lately and I've pushed various updates, covering other timing error detectors that were missing and reviewing the implementation in general.

Regards

sumanthraikar

comment created time in 3 days

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha f0e38d0256815a5b974d9c56a1c3be6a08951d3b

Review the main simulation script - Rename the main simulation script to main.m and rename the symbol timing synchronization loop function to symbolTimingSync(). - Review various comments. - Reorganize some code sections. - Introduce MER measurement at the end to compare the MER from our symbol timing recovery loop and the one achieved by the reference (MATLAB's) implementation. - Use the same TED on MATLAB's symbol synchronizer as used in our loop for a better comparison. Add exception for the MLTED that is not currently supported by MATLAB's symbol synchronizer. - Generate AWGN using a fixed known theoretical power instead of using the "measured" option to measure the signal power every time. - Evaluate the cases of perfect timing recovery and no timing recovery.

view details

push time in 3 days

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha 0b16469ab4f0f84e8739610c4cc3b71a480d860e

Review and complete TED schemes on the sync loop - The previous ZCTED implementation was incorrect. It was taking the zero-crossing sample directly from the MF output, whereas in reality it should be an interpolated value denominated the zero-crossing interpolant in the new implementation. - Add ELTED, GTED and MMTED that were missing in the symbol timing recovery loop.

view details

push time in 3 days

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha 2112428062d3d54b859079522418b789f40eea18

Move the interpolation step into a function Improve the code organization by moving the interpolation step of the timing recovery loop into a function. Review also the polyphase implementation to support reusing the same function for all interpolation methods. Instead of keeping a dedicated sample buffer for the polyphase implementation, use the main vector of input samples. Change also the order adopted for interpolator choices. Make the polyphase implementation option "0" and the linear implementation as option "1".

view details

Igor Freire

commit sha 48a84037d22c14d55791dd936428f0ac2a7068b6

Move the derivative MF computation to a function

view details

push time in 10 days

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha f1e7d3170356ca02e0013898277adc471227dd5f

Review and complete the calculation of TED gains - Add script to simulate the TED gain and validate the analytical expressions. - Review the dMF design. Scale the FIR taps (originally [0.5, 0, 0.5]) by "L" so that Eq. 3.61 is implemented for T (sample period) equal to 1/L (reciprocal of the oversampling factor). With that, the gain of the MLTED becomes independent of the oversampling factor used to evaluate it, which was a problem before. - Add demo live script showing the S-curves and gain of all the supported TED types. - Rename some functions and reorganize.

view details

push time in 10 days

push eventigorauad/symbol_timing_sync

Igor Freire

commit sha 6f4fc74431516e1e663aeb111ab87d783e19957a

Review comments and update code style

view details

Igor Freire

commit sha 984dbec071b9c23b2aebb4eb9f8a27e876e621a3

Simplify the symbol timing recovery loop variables Keep a single cnt and mu(k) instead of holding variables for the current and next value.

view details

Igor Freire

commit sha f0d65b313ffb65a54158f4635fbe452df5d4c0c5

Add quadratic and cubic interpolator options

view details

Igor Freire

commit sha c4e1a0221b9f94b1022dd60cbaf60f47ff2ed0de

Review comments to fit the 75 columns default rule

view details

Igor Freire

commit sha 9229b7575f3c5d4b05effe73e30235becf124ea9

Rename and review PI loop constant function

view details

Igor Freire

commit sha b0a388d1418c118cb93a70995e5a0f31b359852a

Review and rename function to plot Kp vs. rolloff

view details

Igor Freire

commit sha e7511c544965bd44acb690bd60ad994a5f42bc5d

Review and complete the calculation of TED gains - Add script to simulate the TED gain and validate the analytical expressions. - Review the dMF design. Scale the FIR taps (originally [0.5, 0, 0.5]) by "L" so that Eq. 3.61 is implemented for T (sample period) equal to 1/L (reciprocal of the oversampling factor). With that, the gain of the MLTED becomes independent of the oversampling factor used to evaluate it, which was a problem before. - Add demo live script showing the S-curves and gain of all the supported TED types. - Rename some functions and reorganize.

view details

push time in 10 days

created taglasseufpa/ptp-dal

tagv0.1.1

PTP Dataset Analysis Library (PTP-DAL)

created time in 14 days

push eventlasseufpa/ptp-dal

Igor Freire

commit sha 9138403232d103daf4e91ffbe3ea77d197c446c8

Apply automatic formatting using yapf - Apply yapf on all python files. - Add CI task to check the yapf formatting.

view details

Igor Freire

commit sha 545abd1655cf1fdd203dc1560453b8d0bd9646bd

Lint with flake8 on CI - Fix many problems detected by flake8. - Add flake8 verification step on the CI testing job.

view details

Igor Freire

commit sha 99489b390f1d6b0a4c0d725c38530e7804960ec6

Update docs with the latest paper versions

view details

Igor Freire

commit sha 5dd94485611f5042664276e7fc36e9f2ae1b6028

Add sphinx docs - Add .rst documentation at `docs/source/`. - Configure sphinx to include some packages for autogenerated documentation. - Review some classes by moving the constructor docstrings to the class level, where it is looked by napoleon/autodoc, instead of the __init__() method.

view details

push time in 14 days

push eventigorauad/ptp-dal

Igor Freire

commit sha 5dd94485611f5042664276e7fc36e9f2ae1b6028

Add sphinx docs - Add .rst documentation at `docs/source/`. - Configure sphinx to include some packages for autogenerated documentation. - Review some classes by moving the constructor docstrings to the class level, where it is looked by napoleon/autodoc, instead of the __init__() method.

view details

push time in 14 days

push eventigorauad/ptp-dal

Igor Freire

commit sha 0caa8680bdbcb8f389fb80a2d0c190419a0011ba

Add sphinx docs - Add .rst documentation at `docs/source/`. - Configure sphinx to include some packages for autogenerated documentation. - Review some classes by moving the constructor docstrings to the class level, where it is looked by napoleon/autodoc, instead of the __init__() method.

view details

push time in 14 days