signal-processing

how can the noise be removed from a recorded sound,using fft in MATLAB?

老子叫甜甜 提交于 2019-12-03 06:06:52
问题 I want to remove noises from a recorded sound and make the fft of it finding fundamental frequencies of that sound, but I don't know how to remove those noises. I'm recording the sound of falling objects from different heights. I want to find the relation between the height and the maximum frequency of the recorded sound. [y,fs]=wavread('100cmfreefall.wav'); ch1=y(:,1); time=(1/44100)*length(ch1); t=linspace(0,time,length(ch1)); L=length(ch1); NFFT = 2^nextpow2(L); % Next power of 2 from

How to use the cross-spectral density to calculate the phase shift of two related signals

时光毁灭记忆、已成空白 提交于 2019-12-03 06:02:45
问题 I've two signals, from which I expect that one is responding on the other, but with a certain phase shift. Now I would like to calculate the coherence or the normalized cross spectral density to estimate if there is any causality between the input and output to find out on which frequencies this coherence appear. See for example this image (from here) which seems to have high coherence at the frequency 10: Now I know that I can calculate the phase shift of two signals using the cross

Determining the relative position of 2 mobile devices using ultrasound

别说谁变了你拦得住时间么 提交于 2019-12-03 04:53:13
I am considering using ultrasound (inaudible) as an option for determining the relative position of 2 mobile devices (which can be either on Android or iOS devices). There will be my app installed on both of these devices. Its users will face each other (with their max. distance being 1,5 m), holding the devices facing each other. I would like to know whether it could be possible to create an efficient system in which one app would send ultrasound/inaudible signal and other user's app would receive it and determine that this particular user (standing very close) sent it (emitted the sound).

Mixing 16 bit linear PCM streams and avoiding clipping/overflow

断了今生、忘了曾经 提交于 2019-12-03 04:36:20
问题 I've trying to mix together 2 16bit linear PCM audio streams and I can't seem to overcome the noise issues. I think they are coming from overflow when mixing samples together. I have following function ... short int mix_sample(short int sample1, short int sample2) { return #mixing_algorithm#; } ... and here's what I have tried as #mixing_algorithm# sample1/2 + sample2/2 2*(sample1 + sample2) - 2*(sample1*sample2) - 65535 (sample1 + sample2) - sample1*sample2 (sample1 + sample2) - sample1

Which algorithm should I use for signal (sound) one class classification?

点点圈 提交于 2019-12-03 04:30:50
问题 Update this question was previously titled as " Give me the name of a simple algorithm for signal(sound) pattern detection " My objective is to detect the presence of a given pattern in a noisy signal. I want to detect the presence of a species of insect recording the sounds with a microphone. I have previously recorded the sound of the insect in a digital format. I am not trying to do voice recognition. I am already using convolution between the input signal and the pattern to determine

Is there an FFT that uses a logarithmic division of frequency?

瘦欲@ 提交于 2019-12-03 04:25:10
问题 Wikipedia's Wavelet article contains this text: The discrete wavelet transform is also less computationally complex, taking O(N) time as compared to O(N log N) for the fast Fourier transform. This computational advantage is not inherent to the transform, but reflects the choice of a logarithmic division of frequency, in contrast to the equally spaced frequency divisions of the FFT. Does this imply that there's also an FFT-like algorithm that uses a logarithmic division of frequency instead of

Estimating small time shift between two time series

↘锁芯ラ 提交于 2019-12-03 04:18:02
问题 I have two time series, and i suspect that there is a time shift between them, and i want to estimate this time shift. This question has been asked before in: Find phase difference between two (inharmonic) waves and find time shift between two similar waveforms but in my case, the time shift is smaller than the resolution of the data. for example the data is available at hourly resolution, and the time shift is only few minutes(see image). The cause of this is that the datalogger used to

Signal processing: FFT overlap processing resources

拜拜、爱过 提交于 2019-12-03 04:03:40
Are there any good (if possible scientific) resources available (web or books) about overlap processing. I am not that interested in the effects of using overlap processing and windows when analyzing a signal, since the requirements are different. It is more about the following Real Time situation: (I am currently dealing with audio signals) Dividing a signal into smaller parts. Creating overlap windows. FFTing the windowed chunks. Do processing in the frequency domain. IFFT the results. put the chunks together to a continuous stream. I am especially interested in the influence of the window

Source for a good, simple, soft modem library [closed]

你。 提交于 2019-12-03 03:56:55
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 3 years ago . I a doing a weird project, and looking to convert some short, simple datagrams to audio - send them over a (physical) radio - then to receive and decode them on another device (think - embedded devices with audio out jack and GSM/GPRS-type radios). (I have to use a physical, existing external radio). Does anyone

What is the Hamming window for?

六月ゝ 毕业季﹏ 提交于 2019-12-03 03:55:10
问题 I'm working with some code that does a Fourier transform (to calculate the cepstrum of an audio sample). Before it computes the Fourier transform, it applies a Hamming window to the sample: for(int i = 0; i < SEGMENTATION_LENGTH;i++){ timeDomain[i] = (float) (( 0.53836 - ( 0.46164 * Math.cos( TWOPI * (double)i / (double)( SEGMENTATION_LENGTH - 1 ) ) ) ) * frameBuffer[i]); } Why is it doing this? I can't find any reason for it to do this in the code, or online. 回答1: Whenever you do a finite