Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some question of the dataset #27

Open
beyond96 opened this issue Oct 21, 2020 · 9 comments
Open

Some question of the dataset #27

beyond96 opened this issue Oct 21, 2020 · 9 comments

Comments

@beyond96
Copy link

As you mentioned,92nd - 181st column shows (30 subcarrier * 3 antenna) phase.
But why is the phase value of all subcarriers almost all greater than 2pi?
For example, in "input_161219_sankalp_bed_1.csv", the phase values of all subcarriers are almost between 10 and 15 from 8.5099s to 11.5s, but isn't the value range of phase from 0 to 2pi?

@Hirokazu-Narui
Copy link
Collaborator

Hirokazu-Narui commented Oct 21, 2020

https://web.stanford.edu/~skatti/pubs/sigcomm15-spotfi.pdf
Our phase are unwrapped like this article.
If it over 2pi, I just added 2pi.

@beyond96
Copy link
Author

Sorry, I still wonder what this sentence " If it become greater than 2pi, I just added 2pi" means?
What should I do if I need to get the right phase?

@beyond96
Copy link
Author

If it become greater than 2pi,Shouldn't 2pi be subtracted?

@Hirokazu-Narui
Copy link
Collaborator

You only need is subtract 2pi if it greater than 2pi. and subtract 4pi if it greater than 4pi.

@beyond96
Copy link
Author

Thanks for your reply!
But I also have a question:
In a period, the phase value ranges from 9 to 13 such as in "input_161219_sankalp_walk_6", and the phase difference is about Pi. But shouldn't the complete phase period be 2Pi, which is about 6.28? This happens in all the data. Why?
In other words, in your data, the phase only changes Pi in a cycle, but in theory the phase should change 2Pi.Could you answer for me.
All help will be appreciated!

@beyond96
Copy link
Author

I I have been puzzled by the above question for several days. Could you give me some answers?
All help will be appreciated!

@Hirokazu-Narui
Copy link
Collaborator

Actually, we are not using phase difference.
And I couldn't remember how we think about it at that time.

But here is the code for phase calibration.
I hope it will help you.

function calibrated_phase2 = phase_calibration(phasedata)
    calibrated_phase(1) = phasedata(1);
    difference = 0;
    for i = 2:30
        temp = phasedata(i) - phasedata(i-1);
        if abs(temp) > pi
            difference = difference + 1*sign(temp);
        end
        calibrated_phase(i) = phasedata(i) - difference * 2 * pi;
    end
    
    k = (calibrated_phase(30) - calibrated_phase(1)) / (30 - 1);
    b = mean(calibrated_phase);
    
    for i = 1:30
        calibrated_phase2(i) = calibrated_phase(i) - k * i - b;
    end
end

@beyond96
Copy link
Author

Thanks!
I have read your code, but I still don't understand the purpose of phase calibration. Why should you calibrate the phase? Is there a problem with the original phase?

I am so sorry to disrurb you all the time.

@Hirokazu-Narui
Copy link
Collaborator

I think wrapped data will not be continuous over time. That's why we unwrapped phase. But again, we are not using phase information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants