信号基础知识----线性调频信号LFM //matlab命令:chirp
%关于线性调频信号(LFM)
%参考书目:声呐技术,第二章P33
clc;close all;clear all;
%参数----------------------------------
f0=1000;
T=5;%时宽,时间总长
B=10;%带宽
fs=100;%采样频率
Ts=1/fs;%采样时间间隔
N=T/Ts;%采样点个数
k=B/T;%调频斜率
t=linspace(0,T,N);
y=exp(1i*(2*pi*f0*t+pi*k*t.^2)); %线性调频信号(LFM)的时间函数
%作图---------------------------------------------
subplot(211);
plot(t,real(y));title('LFM信号时域波形');xlabel('时间/s');ylabel('幅度');
Y=fftshift(fft(y));
f=linspace(0,fs,N);
subplot(212);
plot(f,abs(Y));title('LFM信号频谱');xlabel('频率/Hz');ylabel('幅度');

%fftshift的用处-------------------------------------
figure;
subplot(211);
plot(abs(fft(y)));
xlabel('\omega/\pi');ylabel('|e^j^\omega/|');title('fft变换');
f=linspace(0,fs,N);
subplot(212);
plot(f,abs(Y));title('LFM信号频谱');xlabel('频率/Hz');ylabel('幅度');title('利用了fftshift的命令');

%三维图像--------------------------------------------------------------------------------------------------------------
t=-T:0.05:T; %频移分辨力rou=0.88/T
v=-B:0.05:B; %时延分辨力rou=0.88/B
[t,v]=meshgrid(t,v); %401*201
r=pi*(k*t+v).*(T-abs(t));
X=sin(r)./r.*(T-abs(t)); %模糊函数,假设A=1
figure;
surf(t,v,abs(X))

%================================================================================================
matlab提供chirp函数,可以直接用,如示例:
t = 0:0.001:2; % 2 secs @ 1kHz sample rate
y = chirp(t,0,1,200); % Start @ DC,
% cross 150Hz at t=1 sec
spectrogram(y,256,250,256,1E3,'yaxis')
figure(2)
plot(t,y)
-----------------这里t指出采样频率1khz和采样时长2秒;y是用chirp生成chirp信号;0是从频率为0的直流开始,1和200是指定在1秒的时候频率线性增长到200hz。


关于fftshift还是好好研究一下:http://www.cnblogs.com/limanjihe/p/10014142.html
信号基础知识----线性调频信号LFM //matlab命令:chirp的更多相关文章
- UNIX基础知识之信号
本篇博文内容摘自<UNIX环境高级编程>(第二版),仅作个人学习记录所用.关于本书可参考:http://www.apuebook.com/. 信号(signal)是通知进程已发生某种情况的 ...
- Django中的信号基础知识
Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 1 2 3 4 5 6 7 8 9 10 ...
- 信号基础知识---单频矩形脉冲信号CW
%CW%参考:声呐技术 P27,31clc;close all;clear all;%参数-------------------------f0=50;T=0.1;%时宽B=1/T;fs=1000;% ...
- 信号基础知识--FFT DFT
clc;close all;clear all; f0=10; fs=100; %采样率 t=1/fs:1/fs:2; %共两秒钟,共200个采样点.采样间隔T=1/100 y ...
- Selenium基础知识(详解IDE命令、css及xpath定位一)
1. ide常用命令,参考 http://sariyalee.iteye.com/blog/1743350 2. ide介绍,参考 http://blog.csdn.net/oscar999/art ...
- 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)
http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...
- GDB基础知识
GDB 基础知识 GDB 基础知识 一.简介 支持命令补全功能 GDB 的调用与退出 二.GDB 的基本指令 1. run/r 2. break/b 3. info breakpoints 4. de ...
- IPC网络高清摄像机基础知识4(Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别) 【转】
转自:http://blog.csdn.net/times_poem/article/details/51682785 [-] 一 概念介绍 二 两个疑问 三 RAW和JPEG的区别 1 概念说明 3 ...
- 异步处理方式之信号(一):基础知识和signal函数说明
文章目录 1. 引言 2. 信号的概念 2.1 信号操作之忽略信号 2.2 信号操作之捕捉信号 2.3 信号操作之执行系统默认操作 2.4 常见的信号 3. 函数signal 3.1 signal函数 ...
随机推荐
- stylelint 安装配置
1.安装 stylelint: npm i stylelint -g npm i stylelint stylelint-config-standard --save-dev 2.在 scripts ...
- PythonStudy——文件操作习题 Document operation exercises
# 1.统计文件数据中字母e出现的次数(不区分大小写)# 文件内容:hello friend, can you speak English!# 结果:4# 分析:将文件内容读出,然后统计读出的字符串中 ...
- 浅析rune数据类型
学习golang基础的时候,发现有个叫rune的的数据类型,当时不理解这个类型的意义. 查询,官方的解释如下: // rune is an alias for int32 and is equival ...
- 100道JS构造函数面试题
1. var User = { count: 1, getCount: function () { return this.count; } }; console.log(User.getCount( ...
- mysql:设置字符集utf8mb4 支持emoji字符
为什么要把数据库的字符集设置成utf8mb4呢?以前一直用的都是utf8啊? 答案在这里:utf8适用于不使用移动设备的互联网交互,utf8mb4适用于当前的移动设备互联网开发,因为移动设备中常常会有 ...
- VUE 进行微信支付,解决 微信支付URL未注册
使用history方式 比较坑吧就不吐槽了,说下实现方式 需要解决问题: 1.因为我的微信支付授权路由是:m.xxxx.com,this.$router.push('xxx')之后经常出现 [微信支付 ...
- kafka consumer防止数据丢失(转)
http://kane-xie.iteye.com/blog/2225085 kafka最初是被LinkedIn设计用来处理log的分布式消息系统,因此它的着眼点不在数据的安全性(log偶尔丢几条无所 ...
- 查询linux计算机的出口ip
执行以下命令即可: [root@tkafka ~]# curl http://members.3322.org/dyndns/getip 123.103.9.7 碰到的场景: 微信公众号需要配置ip白 ...
- html5 + thyleaf引擎
偶然与巧合 舞动了蝶翼 谁的心头风起 前赴而后继 万千人追寻 荒漠唯一菩提 似擦肩相遇 或擦肩而去 命运犹如险棋 无数时间线 无数可能性 终于交织向你
- 彻底征服 Spring AOP 之 实战篇
Spring AOP 实战 看了上面这么多的理论知识, 不知道大家有没有觉得枯燥哈. 不过不要急, 俗话说理论是实践的基础, 对 Spring AOP 有了基本的理论认识后, 我们来看一下下面几个 ...