필터 지우기
필터 지우기

How to perform fft

조회 수: 3 (최근 30일)
Efstathios Kontolatis
Efstathios Kontolatis 2017년 2월 23일
답변: Rik 2017년 2월 23일
I have 1000 samples from an experiment with frequency Fs=67890 Hz. How can I perform fft on them? I followed the guide here https://uk.mathworks.com/help/matlab/ref/fft.html but it seems that the dominant frequency is zero which has no physical meaning.
These are my data
x =
0.3551
0.2308
0.3209
0.4527
0.4606
0.4511
0.4925
0.4769
0.5424
0.4698
0.4246
0.4502
0.5823
0.5451
0.4235
0.4062
0.3832
0.2749
0.1591
0.1889
0.4155
0.3840
0.3582
0.1852
0.2677
0.2454
0.2458
0.2100
0.1469
0.1186
0
0.4154
0.4807
0.4320
0.4072
0.3352
0.3357
0.2770
0.2801
0.3578
0.2703
0.3626
0.0998
0.3656
0.2590
0.4388
0.4144
0.2631
0
0.1076
0
0.4535
0.4626
0.4159
0.3686
0.4763
0.2582
0.2961
0.3691
0.3860
0.3875
0.4018
0.4292
0.3921
0.3128
0.4884
0.3153
0.2672
0.3448
0.3787
0.4799
0.3870
0.3534
0.3968
0.3006
0.3119
0.3585
0.1352
0.4154
0.3323
0.3733
0.3232
0.4116
0.3276
0.4852
0.3715
0.3991
0.3766
0.4866
0.3483
0.2736
0.3153
0.4049
0.3774
0.3071
0.3831
0.3992
0.3661
0.3337
0.1616
0.3305
0.4556
0.5053
0.4209
0.2868
0.2666
0.3057
0.4016
0.2579
0.4286
0.1672
0.4614
0.3814
0.4272
0.3374
0.4215
0.4788
0.3943
0.4097
0.3937
0.4230
0.4981
0.4821
0.1748
0.4015
0.5066
0.4959
0.4267
0.4692
0.3354
0.2919
0.5676
0.4875
0.4957
0.4122
0.5627
0.4573
0.3724
0.4320
0.4127
0.3655
0.3132
0.1982
0.2905
0.3757
0.5282
0.4584
0.4669
0.4059
0.3229
0.4696
0.3960
0.5024
0.4505
0.4084
0.4720
0.4251
0.3683
0.3791
0.3650
0.2426
0.3169
0.4405
0.4129
0.4839
0.3578
0.3550
0.4090
0.4063
0.4497
0.5195
0.4645
0.4514
0.4375
0.3405
0.5263
0.4195
0.3746
0.2887
0.4121
0.3987
0.4428
0.4065
0.3340
0.3511
0.3328
0.3698
0.4988
0.3478
0.2817
0.2795
0.4926
0.3976
0.3728
0.4816
0.4690
0.4328
0.6150
0.1455
0.3981
0.3184
0.4321
0.3678
0.3407
0.2930
0.3325
0.5747
0.5205
0.4418
0.4604
0.3597
0.3404
0.3153
0.5779
0.3666
0.3215
0.2842
0.2314
0.2940
0.3745
0.3215
0.2711
0.3004
0.3946
0.3942
0.3256
0.2587
0.3177
0.2474
0.2057
0.4025
0.4435
0.4262
0.3123
0.3033
0.3595
0.3224
0.5162
0.5210
0.5185
0.5082
0.5174
0.4634
0.4224
0.5525
0.4637
0.5132
0.5806
0.3519
0.5952
0.5103
0.4021
0.3890
0.3671
0.5863
0.3946
0.3198
0.1014
0.4934
0.4089
0.5890
0.4601
0.5628
0.5392
0.4553
0.4755
0.5468
0.4478
0.4900
0.3323
0.2200
0.4340
0.4119
0.4075
0.3577
0.5101
0.3585
0.3939
0.4366
0.3738
0.3934
0.4416
0.4464
0.3510
0.3791
0.4289
0.3966
0.3113
0.2998
0.4251
0.4033
0.3393
0.3843
0.4246
0.4224
0.4072
0.2900
0.4400
0.5314
0.4580
0.4382
0.4118
0.4298
0.5275
0.4492
0.4100
0.4098
0.4530
0.4531
0.4177
0.5175
0.2001
0.5330
0.4534
0.4613
0.0637
0.4619
0.5318
0.4129
0.3292
0.3293
0.4428
0.3560
0.4558
0.3736
0.2481
0.3881
0.3586
0.3284
0.0465
0.3070
0.4227
0.3891
0.3911
0.5650
0.3529
0.3481
0.3482
0.3682
0.5319
0.5387
0.1824
0.3062
0.4315
0.4625
0.3685
0.5253
0.4801
0.5584
0.4634
0.5326
0.4494
0.4534
0.4064
0.3226
0.1444
0.4603
0.4277
0
0.3656
0.4511
0.5926
0.4544
0.4301
0.3542
0.3607
0.3684
0.4694
0.5180
0.3940
0.4657
0.3901
0.4060
0.3740
0.3351
0.3571
0.3845
0.3225
0.4296
0.3675
0.4469
0.3926
0.3571
0.3877
0.2835
0.4564
0.4695
0.3038
0.4322
0.3454
0.4157
0.4131
0.3656
0.3244
0.3835
0.3835
0.3669
0.3769
0.3392
0.4072
0.4156
0.4026
0.4092
0.3624
0.4615
0.3921
0.4848
0.4077
0.2904
0.3404
0.3485
0.4472
0.4097
0.3488
0.3555
0.2958
0.1905
0.2594
0.5082
0.3526
0.5096
0.2486
0.3777
0.3662
0.4036
0.4170
0.4132
0.4760
0.4813
0.2767
0.4714
0.3762
0.3883
0.2067
0.1974
0.3166
0.3852
0.2576
0.3949
0.2443
0.3779
0.4300
0.3881
0.3786
0.3516
0.4147
0.3850
0.4277
0.4620
0.4737
0.4113
0.3448
0.3532
0.3431
0.2336
0.4660
0.4304
0.4478
0.2664
0.3472
0.3404
0.3530
0.5004
0.4685
0.4902
0.5056
0.4876
0.3388
0.3673
0.4873
0.3627
0.3553
0.3385
0.3725
0.5111
0.4345
0.3356
0.3316
0.3864
0.3736
0.3033
0.4409
0.4224
0.3873
0.3507
0.3317
0.3222
0.2853
0.3617
0.4143
0.4293
0.3870
0.3259
0.4120
0.3762
0.3981
0.4022
0.3711
0.3616
0.4801
0.3860
0.2593
0.5820
0.4110
0.4032
0.4109
0.3933
0.4776
0.2430
0.4151
0.4863
0.3633
0.1881
0.1723
0.4596
0.3971
0.3804
0.4301
0.2390
0.4319
0.3753
0.4073
0.4224
0.4255
0.4830
0.3504
0.3461
0.1993
0.4117
0.4678
0.4710
0.3577
0.3979
0.3993
0.3446
0.3214
0.3113
0.3695
0.3847
0.4664
0.4420
0.3579
0.5084
0.4741
0.4416
0.4036
0.3741
0.4747
0.5657
0.4787
0.4972
0.3841
0.2781
0.4447
0.5256
0.4557
0.4701
0.4399
0.3622
0.3493
0.3782
0.3784
0.6737
0.5224
0.4507
0.2935
0.4661
0.3368
0.3713
0.4094
0.3704
0.4510
0.3874
0.4808
0.3836
0.4163
0.2954
0.4038
0.3723
0.3454
0.3572
0.2956
0.3123
0.3045
0.3775
0.3586
0.3899
0.3283
0.2579
0.3975
0.3386
0.3333
0.3667
0.2439
0.3291
0.4948
0.4187
0.4469
0.3125
0.2881
0.1765
0.3667
0.4266
0.4227
0.4985
0.3694
0.3063
0.3647
0.3031
0.4227
0.4508
0.3426
0.2608
0.3380
0.4410
0.2822
0.3007
0.2079
0.3175
0.2548
0.2257
0.2664
0.2629
0.3153
0.2829
0.1878
0.2932
0.4240
0.3506
0.3450
0.3436
0.3147
0.4307
0.3297
0.3263
0.2626
0.3670
0.3903
0.3504
0.3635
0.3506
0.3645
0.3349
0.3742
0.4376
0.3087
0.1669
0.5031
0.4398
0.3169
0.1251
0.3737
0.4122
0.3529
0.3419
0.3728
0.3230
0.3516
0.3272
0.4056
0.4307
0.4187
0.3042
0.3735
0.3499
0.4240
0.1846
0.2853
0.2608
0.3536
0.3915
0.4461
0.4830
0.4267
0.2480
0.4508
0.1829
0.2214
0.3592
0.4563
0.2695
0.3125
0.2981
0.4959
0.3519
0.1361
0.3236
0.3682
0.3274
0.4352
0.3589
0.3794
0.3441
0.4345
0.3739
0.3811
0.3532
0.3125
0.4182
0.2854
0.3541
0.3988
0.4035
0.3540
0.3104
0.4531
0.5163
0.5809
0.3362
0.4588
0.4724
0.4871
0.4134
0.4033
0.3325
0.4309
0.3734
0.3137
0.3562
0.4370
0.2704
0.3935
0.3315
0.3020
0.3531
0.2427
0.3931
0.3654
0.3365
0.5205
0.3245
0.6086
0.4521
0.3837
0.4901
0.3527
0.4278
0.2909
0.3649
0.3479
0.2947
0.5558
0.4566
0.5902
0.4304
0.5311
0.5395
0.3745
0.5311
0.3001
0.4030
0.4117
0.3925
0.4652
0.3820
0.2739
0.4634
0.3541
0.3096
0.3282
0.3180
0.2612
0.2147
0.4373
0.4462
0.4324
0.4857
0.2976
0.3247
0.3276
0.3106
0.5885
0.5510
0.3492
0.3284
0.4325
0.4530
0.5664
0.5522
0.4787
0.4568
0.4210
0.5093
0.4775
0.4069
0.4151
0.4295
0.4312
0.3926
0.3863
0.3583
0.4121
0.3848
0.3773
0.3826
0.3374
0.3023
0.3368
0.4261
0.2167
0.4879
0.3032
0.2540
0.5302
0.4484
0.4872
0.3173
0.3800
0.4337
0.3698
0.3272
0.2498
0.3854
0.4042
0.4299
0.4018
0.3248
0.3756
0.3824
0.4029
0.4295
0.3573
0.3036
0.0557
0.4097
0.5186
0.4060
0.3733
0.2700
0.4013
0.2437
0.4369
0.3374
0.3853
0.4096
0.3145
0.3664
0.4738
0.2346
0.3548
0.2804
0.4698
0.4039
0.4628
0.4387
0.3089
0.3981
0.4727
0.4335
0.3591
0.4623
0.3922
0.4100
0.3585
0.4101
0.3834
0.2742
0.2886
0.4118
0.4812
0.4434
0.4607
0.3134
0.0859
0.1066
0.3441
0.2788
0.3310
0.4330
0.3551
0.4324
0.4427
0.3585
0.4497
0.1920
0.3622
0.4184
0.4762
0.4427
0.4545
0.4054
0.4440
0.3977
0.5034
0.5101
0.3951
0.5061
0.4242
0.4591
0.5080
0.4194
0.6229
0.3667
0.4874
0.4718
0.4996
0.2885
0.4989
0.5071
0.4529
0.5001
0.4165
0.4620
0.4430
0.3566
0.3709
0.4315
0.4694
0.3501
0.3343
0.4227
0.3484
0.3737
0.1854
0.4691
0.4328
0.4059
0.4462
0.4397
0.3578
0.3274
0.4586
0.4864
0.5225
0.3509
0.4212
0.4003
0.4854
0.1942
0.4785
0.4362
0.4213
0.4979
0.4989
0.3758
0.4904
0.6655
0.4860
0.4498
0.4712
0.3502
0.3666
0.3871
0.5061
0.3993
0.2872
0.3147
0.3531
0.4126
0.4546
0.4136
0.4674
0.4634
0.4877
0.4136
0.3401
0.4442
0.3997
0.3753
0.4675
0.3769
0.3556
0.3799
0.5048
0.3805
0.4656
0.4621
0.3986
0.2977
0.3280
0.4630
0.4375
0.3109
0.3265
0.4582
0.4432
0.3801
0.4558
0.4408
0.4279
0.3974
0.3856
0.4107
0.4463
0.4646
0.3674
0.4938
0.3389
0.4625
0.3187
0.3233
0.4389
0.3224
0.3140
0.4371
0.3664
0.4664
0.4350
0.4211
0.3415
and here is the code I have used for the fft
fs=67890;
T = 1/fs; % Sampling period
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector
y = fft(x);
P2 = abs(y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(L/2))/L;
subplot(2,1,1), plot(t,x),title('original data'),ylabel('x'),xlabel('t')
subplot(2,1,2), plot(f,P1),title('fft'),ylabel('magnitude'),xlabel('frequency')
This gives me this image
Hope it's clear
  댓글 수: 5
Adam
Adam 2017년 2월 23일
So just do what Rik Wisselink suggests to zero-centre your data or simply remove the 0-frequency component from the final result and plot it without if you just want to look at the frequency spectrum.
Efstathios Kontolatis
Efstathios Kontolatis 2017년 2월 23일
Yes indeed that worked. Thank you very much. I would have accepted the answer if I knew how to do it.

댓글을 달려면 로그인하십시오.

채택된 답변

Rik
Rik 2017년 2월 23일
[moved from comments]
To remove the 0Hz-component from the analysis, use y=fft(x-mean(x));

추가 답변 (1개)

Pooja Patel
Pooja Patel 2017년 2월 23일
  • amp1 = abs(fft(x1)); %Retain Magnitude
  • % amp11 = amp1(1:Nsamps1/2); %Discard Half of Points
  • % f11 = Fs*(0:Nsamps1/2-1)/Nsamps1; %Prepare freq data for plot
  • f11 = 0:(fs1/Nsamps1):1000; %Prepare freq data for plot
  • amp11 = amp1(1:length(f11)); % keep data till 1kHz
  • plot(f11,amp11);

카테고리

Help CenterFile Exchange에서 Parametric Spectral Estimation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by