I am new to the Neuroscience topic and I am supposed to baseline correct some EEG data that I have already epoched. I have been googling to try to find out how to do this on Matlab but I am not sure what the concept is. Can anyone help? I know it's a very general question but I am not sure what to ask. If someone can point me in the right direction or even tell me how to do it, I'd be very thankful.
You have to subtract the mean of the first samples of every channel from the whole length of the channel. Typically the baseline window is 100ms or more before the event.
Related
I'm trying very hard to understand this code about a Deep Learning-Based NOMA system based in MATLAB. I am really new to MATLAB coding but I really need to understand this entire code as it will help in my school project and I am struggling.
I think as of right now I do not need to know how the mathematical formulas work, but instead, the focus is on what the code is doing and its flow.
This is part of the code in the trainData.m file that I am struggling with right now
Why are the pilot symbols calculated and then replaced right after?
Why is the idx_sc (20) selected to be replaced? What is its significance? Is it the only subcarrier selected for the training of the DL model? Why only that?
This portion of the code in the picture is labeled "generate training data for each class". From my understanding, it is generating OFDM packets for each label, simulating the transmission and reception, and then getting the features and labels for each of the 16 classes. Is that correct?
The code and all relevant function files can be found in the link below.
Please help me understand the code!!! Please! Much thanks!
https://www.mathworks.com/matlabcentral/fileexchange/75478-deep-learning-for-signal-detection-in-noma-systems
To get you started, In lines 91 the code initializes the entire variable as 0. Subsequent lines (92-96) are just replacing pieces of the variable based on the indexing inside the “(…)”
I'm asking this here because I didn't find anything online.
I would be interested in how Google Quick Draw works, specifically:
1) How does it output the answer - does it have a giant output vector with a probability for each type of drawing?
2) How does it read the data - I see they've implemented some sort of order aware input system, but does that mean that they input positions of the interpolated lines that users draw? This is problematic because it's variable length - how did they solve it?
3) And, finally, which training algorithm are they using? The data grows each time someone draws something new, or do they just feed it into the algorithm when it's created?
If you know any papers on this or by miracle you work at Google and/or can explain how it works, I would be really greatful. :)
Sorry about this noob question, because I never work with matlab and signal processing before.
Here is what I want to do: I have a fixed length of byte array X, now I want to encode it to a sound file, I also want this process to be reversible, which means the sound can be converted back to X with no error. I searched online, and found the following code:
M = 16;
x = randint(5000,1,M);
y=modulate(modem.qammod(M),x);
My question is that, is QAM the best way to do this? and how to use it? A little bit code example will be really appreciated, Thank you!
update#1: I tried to output y by sound(y), but matlab does not allow me to do so, it says I can only output floating numbers. How can I solve this? Thank you!
If you need to transmit over the air, you have quiet a lot of work in front of you I think. The most difficult problem to solve in a telecommunications system is often synchronization, meaning that your receiver will have to know where the QAM symbols are placed in time. This is not easy. If you choose to go ahead I agree with mtrw that you should try dsp.stackexchange.com.
Try for example to imaging a simple modulation scheme where each bit is converted to a short piece of sine with the frequency depending on whether the bit is one or zero. How would you go about decoding this on the receiver end? You need to detect the onset of the first bit and have some self maintaining clock running for synchronization on the receiver to find bits in case they do not change, aka a PLL (Phase Locked Loop). This could possibly be made easier by using manchester coding, but you would still have to do quite a lot to get it running.
As you see, there are no easy solutions when you leave the save Matlab harbor :-)
Best regards
I am implementing an app which measures the how much distance it has moved .For example if my device felldown from my table to ground ,then I would like to calculate the distance.So Kindly help me to do this. Let me know if my question is not clear.
Thanks in advance.
Your question is very clear : you want to compute the second level integral of the acceleration, which theorically is possible, by supposing the speed null at some time, but I really doubt you could get something precise enough to make any sense (as in many integral computations).
This isn't done today because the error is too big. Done in hardware (for permanent integration of the acceleration) it could be a little more precise but probably not enough to really compute a distance in any acceptable sense of the word "accuracy".
If you want to try it by yourself, here's a document describing more in detail the approach : http://perso-etis.ensea.fr/~pierandr/cours/M1_SIC/AN3397.pdf
I am new to this Post. Kindly let me know if I make any mistake the way I am asking question.
My question can be clearly understandable when one can go through these links where I have explained what I am looking for.
https://www.dropbox.com/s/5nhmxqgveytl0ba/Comb%20FIR%20Filter%20Explanation.jpg
(And)
https://www.dropbox.com/s/5nhmxqgveytl0ba/Comb%20FIR%20Filter%20Explanation.jpg
The major point will be "How Can I create such a 'Variable FIFO buffer' whcih depends on input period & Filter sampling frequency 'Fs'?
If any one out there has any Idea or soultion for such a problem, Then I will be very glad to know and it will help me a lot in my project here.
Sincerely
Prashant
Maybe I don't fully understand what it is you're looking for here but I think you already have all the information that you need.
Fs = 1000; %% or whatever your sampling rate is to begin with.
Order = 3; %% Or whatever order you decide to work with.
Buffer_length = (Order/2)*Fs; % this will be the amount of data in each buffer
If you're looking for someone to give you anything more than this you're going to have to provide additional information and show what you're tried to do so far.