政府网站功能/怎么做网站教程视频

政府网站功能,怎么做网站教程视频,网站建设怎么说服客户,网站建设维护面试内容摘要 本文系统讲解模拟调制技术原理及Matlab实现,涵盖幅度调制的四种主要类型:双边带抑制载波调幅(DSB-SC)、含离散大载波调幅(AM)、单边带调幅(SSB)和残留边带调幅(…

内容摘要
本文系统讲解模拟调制技术原理及Matlab实现,涵盖幅度调制的四种主要类型:双边带抑制载波调幅(DSB-SC)、含离散大载波调幅(AM)、单边带调幅(SSB)和残留边带调幅(VSB)。通过理论推导与Matlab实例结合,详细分析调制信号生成、功率谱密度计算及相干解调过程,并对比各类调制的解调性能与带宽效率。文中提供完整代码与运行结果示意图,帮助读者深入理解模拟调制技术及其实际应用。

关键词:模拟调制 DSB-SC AM SSB VSB 相干解调 功率谱密度


调制是将信号变换为适合信道传输形式的关键技术。由于信源特性与信道特性可能存在不匹配,直接传输可能导致信号失真。模拟调制针对模拟信源,常见方法包括调幅(AM)、调相(PM)和调频(FM)。本文重点介绍幅度调制技术及其实现。


1. 双边带抑制载波调幅(DSB-SC)

理论基础

设均值为零的模拟基带信号为 m ( t ) m(t) m(t),DSB-SC 调制信号表达式为:
s ( t ) = m ( t ) cos ⁡ ( 2 π f c t ) s(t) = m(t)\cos(2\pi f_c t) s(t)=m(t)cos(2πfct)

m ( t ) m(t) m(t) 为随机信号时,其功率谱密度为:
P s ( f ) = 1 4 [ P M ( f − f c ) + P M ( f + f c ) ] P_s(f) = \frac{1}{4}\left[P_M(f - f_c) + P_M(f + f_c)\right] Ps(f)=41[PM(ffc)+PM(f+fc)]
m ( t ) m(t) m(t) 为确知信号,其频谱为:
S ( f ) = 1 2 [ M ( f − f c ) + M ( f + f c ) ] S(f) = \frac{1}{2}\left[M(f - f_c) + M(f + f_c)\right] S(f)=21[M(ffc)+M(f+fc)]
其中 P M ( f ) P_M(f) PM(f) m ( t ) m(t) m(t) 的功率谱密度, M ( f ) M(f) M(f) 是其频谱。由于 m ( t ) m(t) m(t) 均值为零,DSB-SC 信号不含离散载波分量。

相干解调

解调过程通过载波同步实现:
r ( t ) = s ( t ) cos ⁡ ( 2 π f c t ) = m ( t ) cos ⁡ 2 ( 2 π f c t ) = 1 2 m ( t ) + 1 2 m ( t ) cos ⁡ ( 4 π f c t ) r(t) = s(t)\cos(2\pi f_c t) = m(t)\cos^2(2\pi f_c t) = \frac{1}{2}m(t) + \frac{1}{2}m(t)\cos(4\pi f_c t) r(t)=s(t)cos(2πfct)=m(t)cos2(2πfct)=21m(t)+21m(t)cos(4πfct)
使用低通滤波器滤除高频分量 cos ⁡ ( 4 π f c t ) \cos(4\pi f_c t) cos(4πfct),即可恢复原始信号。

Matlab实现

% 信源参数设置  
dt = 0.001;  
fm = 1;  
fc = 10;  
T = 5;  
t = 0:dt:T;  
mt = sqrt(2)*cos(2*pi*fm*t);  % DSB-SC调制  
s_dsb = mt.*cos(2*pi*fc*t);  % 相干解调  
rt = s_dsb.*cos(2*pi*fc*t);  
rt = rt - mean(rt);  
[f, rf] = T2F(t, rt);  
[t, rt] = lpf(f, rf, 2*fm);  

运行结果(示意图):
在这里插入图片描述

  • 调制信号波形与基带信号对比。
  • 功率谱密度呈现对称双边带特性。
  • 解调信号与原始信号幅值减半但波形一致。

2. 含离散大载波调幅(AM)

信号模型

AM 信号表达式为:
s ( t ) = [ A + m ( t ) ] cos ⁡ ( 2 π f c t ) s(t) = [A + m(t)]\cos(2\pi f_c t) s(t)=[A+m(t)]cos(2πfct)
其中 A A A 为常数。若 A > ∣ m ( t ) ∣ A > |m(t)| A>m(t),称为欠调幅,可通过包络检波解调;若 A < ∣ m ( t ) ∣ A < |m(t)| A<m(t),需采用相干解调。

功率谱特性

AM 信号功率谱包含载波分量和边带分量:
P s ( f ) = A 2 4 [ δ ( f − f c ) + δ ( f + f c ) ] + 1 4 [ P M ( f − f c ) + P M ( f + f c ) ] P_s(f) = \frac{A^2}{4}[\delta(f - f_c) + \delta(f + f_c)] + \frac{1}{4}[P_M(f - f_c) + P_M(f + f_c)] Ps(f)=4A2[δ(ffc)+δ(f+fc)]+41[PM(ffc)+PM(f+fc)]

Matlab实现

% AM调制  
A = 2;  
s_am = (A + mt).*cos(2*pi*fc*t);  % 相干解调  
rt = s_am.*cos(2*pi*fc*t);  
rt = rt - mean(rt);  
[f, rf] = T2F(t, rt);  
[t, rt] = lpf(f, rf, 2*fm);  

运行结果(示意图):
在这里插入图片描述

  • 调制信号包络与基带信号叠加直流分量。
  • 功率谱中载波分量显著。
  • 解调信号需去除直流偏移后恢复原始波形。

3. 单边带调幅(SSB)

信号生成

SSB 通过抑制双边带中的一侧实现,以上边带为例:
s ( t ) = m ( t ) cos ⁡ ( 2 π f c t ) − m ^ ( t ) sin ⁡ ( 2 π f c t ) s(t) = m(t)\cos(2\pi f_c t) - \hat{m}(t)\sin(2\pi f_c t) s(t)=m(t)cos(2πfct)m^(t)sin(2πfct)
其中 m ^ ( t ) \hat{m}(t) m^(t) m ( t ) m(t) m(t) 的希尔伯特变换。

频谱特性

SSB 信号带宽仅为基带信号带宽 f m f_m fm,频谱利用率更高。

Matlab实现

%显示模拟调制的波形及解调方法SSB,文件mssb.m
%信源
close all;
clear all;
dt = 0.001; %时间采样间隔
fm = 1; %信源最高频率
fc = 10; %载波中心频率
T = 5; %信号时长
t = 0:dt:T;
mt = sqrt(2)*cos(2*pi*fm*t); %信源
NO = 0.01; %白噪单边功率谱密度%SSB modulation
s_ssb = real(hilbert(mt).*exp(j*2*pi*fc*t));
B = fm;
noise = noise_nb(fc,B,NO,t);
s_ssb = s_ssb + noise;
figure(1)
subplot(311)
plot(t,s_ssb);hold on; %画出SSB信号波形
plot(t,mt,'r--'); %标示mt的波形
title('SSB调制信号');
xlabel('t');%SSB demodulation
rt = s_ssb.*cos(2*pi*fc*t);
rt = rt - mean(rt);
[f,rf]= T2F(t,rt);
[t,rt]= lpf(f,rf,2*fm)
subplot(312)
plot(t,rt);hold on;
plot(t,mt/2,'--');
title('相干解调后的信号波形与输入信号的比较');
xlabel('t')subplot(313)
[t,sf]=T2F(t,s_ssb); %单边带信号频谱
psf=(abs(sf).^2)/T; %单边带信号功率谱
plot(f,psf);
axis([-2*fc,2*fc,0,max(psf)]);
title('SSB信号功率谱');
xlabel('f');function [out]=noise_nb(fc,B,NO,t)% output the narrow band gaussian noise sample with single - sided power% spectrum NO%at carrier frequency equals fc and bandwidth euqals Bdt = t(2)-t(1);Fmx = 1./dt;n_len = length( t);p = NO*Fmx;rn = sqrt(p)*randn(1,n_len);[f, rf]=T2F(t,rn);[t, out]=bpf(f,rf,fc - B/2,fc + B/2);
endfunction [t, y] = bpf(f, x, fl, fh)% 带通滤波器函数% 输入:% f: 频率向量% x: 输入信号的频谱% fl: 带通滤波器的下限频率% fh: 带通滤波器的上限频率% 输出:% t: 时间向量% y: 滤波后的时域信号% 获取频率向量的长度N = length(f);% 初始化带通滤波器的频率响应H = zeros(1, N);% 找到频率在 [fl, fh] 范围内的索引index = (f >= fl) & (f <= fh);% 设置带通滤波器的频率响应为 1H(index) = 1;% 频域滤波:将输入信号的频谱与滤波器的频率响应相乘Y = H .* x;% 将滤波后的频谱转换回时域[t, y] = F2T(f, Y);% 取实部,因为滤波后的信号可能存在极小的虚部,这是由于数值计算误差导致的y = real(y);
end
xlabel('f');

运行结果(示意图):

在这里插入图片描述

  • 调制信号波形复杂度高于 DSB 和 AM。
  • 功率谱仅保留单边带分量。
  • 解调信号与原始信号幅值一致。

4. 残留边带调幅(VSB)

技术特点

VSB 保留部分边带以简化滤波器设计,其滤波器特性需满足:
H V S B ( f − f c ) + H V S B ( f + f c ) = C H_{VSB}(f - f_c) + H_{VSB}(f + f_c) = C HVSB(ffc)+HVSB(f+fc)=C
带宽介于 SSB 和 DSB 之间。

Matlab实现

% VSB调制  
%显示模拟调制的波形及解调方法VSB,文件mvsb.m
%信源
close all;
clear all;
dt = 0.001; %时间采样间隔
fm = 5; %信源最高频率
fc = 20; %载波中心频率
T = 5; %信号时长
t = 0:dt:T;
mt = sqrt(2)*(cos(2*pi*fm*t)+sin(2*pi*0.5*fm*t)); %信源%VSB modulation
s_vsb = mt.*cos(2*pi*fc*t);
B = 1.2*fm;
[f, sf] = T2F(t, s_vsb);
[t, s_vsb] = vsbpf(f, sf, 0.2*fm, 1.2*fm, fc);
figure(1)
subplot(311)
plot(t, s_vsb);hold on; %画出VSB信号波形
plot(t, mt, 'r--'); %标示mt的波形
title('VSB调制信号');
xlabel('t');%VSB demodulation
rt = s_vsb.*cos(2*pi*fc*t);
[f, rf] = T2F(t, rt);
[t, rt] = lpf(f, rf, fm);
subplot(312)
plot(t, rt);hold on;
plot(t, mt/2, 'r--')
title('相干解调后的信号波形与输入信号的比较');
xlabel('t')
subplot(313)
[f, sf] = T2F(t, s_vsb);
psf = (abs(sf).^2)/T;
plot(f, psf);
axis([-2*fc,2*fc,0,max(psf)]);
title('VSB信号功率谱');
xlabel('f');function [t, st] = vsbpf(f, sf, B1, B2, fc)% This function filter an input by an residuai bandpass filter% inputs: %       f: frequency samples%       sf:input data spectrum samples%       B1:residual bandwidth%       B2:highest freq of the basedband signal% Outputs: %       t: time samples%       st: output data's time samplesdf = f(2)-f(1);T = 1/df;hf = zeros(1, length(f));bf1 = [floor((fc - B1)/df):floor((fc + B1)/df)];bf2 = [floor((fc + B1)/df)+1:floor((fc + B2)/df)];f1 = bf1 + floor(length(f)/2);f2 = bf2 + floor(length(f)/2);stepf = 1/length(f1); hf(f1) = 0:stepf:1-stepf;hf(f2) = 1;f3 = -bf1 + floor(length(f)/2);f4 = -bf2 + floor(length(f)/2);hf(f3) = 0:stepf:(1-stepf);hf(f4) = 1;yf = hf.*sf;[t, st] = F2T(f, yf);st = real(st);
end 

运行结果(示意图):
在这里插入图片描述

  • 调制信号保留部分低频双边带和高频单边带。
  • 功率谱呈现非对称特性。
  • 解调信号通过补偿滤波器后恢复原始波形。

5. 幅度调制解调性能对比

性能指标

解调增益 G G G 定义为输入输出信噪比之比:
G = S N R i n S N R o u t G = \frac{SNR_{in}}{SNR_{out}} G=SNRoutSNRin

调制类型输入信号功率带宽解调增益
DSB-SC 1 2 E [ m 2 ] \frac{1}{2}E[m^2] 21E[m2] 2 f m 2f_m 2fm2
AM 1 2 ( E [ m 2 ] + A 2 ) \frac{1}{2}(E[m^2] + A^2) 21(E[m2]+A2) 2 f m 2f_m 2fm 2 E [ m 2 ] E [ m 2 ] + A 2 \frac{2E[m^2]}{E[m^2] + A^2} E[m2]+A22E[m2]
SSB 1 2 E [ m 2 ] \frac{1}{2}E[m^2] 21E[m2] f m f_m fm1

结论

  • DSB-SC:解调增益最高,但带宽需求大。
  • AM:支持包络检波,但功率效率低。
  • SSB:带宽利用率最优,适合窄带信道。

6. 综合实例:含噪声调制的Matlab实现

%显示模拟调制的波形及解调方法AM、DSB、SSE
%信源
close all;
clear all;
dt = 0.001;
fm = 1;
fc = 10;
t = 0:dt:5;
mt = sqrt(2)*cos(2*pi*fm*t);
NO = 0.1;% AM modulation
A = 2;
s_am = (A + mt).*cos(2*pi*fc*t);
B = 2*fm;noise = noise_nb(fc,B,NO,t);
s_am = s_am + noise;
figure(1)
subplot(321)
plot(t,s_am);hold on;
plot(t,A + mt,'r--');% AM demodulation
rt = s_am.*cos(2*pi*fc*t);
rt = rt - mean(rt);
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm);
title("AM 信号");
xlabel('t');
subplot(322)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title("AM解调信号");
xlabel('t');%DSB modulation
s_dsb = mt.*cos(2*pi*fc*t);
B = 2*fm;
noise = noise_nb(fc,B,NO,t);
s_dsb = s_dsb + noise;
subplot(323)
plot(t,s_dsb);hold on;
plot(t,mt,'r--');
title('DSB信号');
xlabel('t');%DSB demodulatior
rt = s_dsb.*cos(2*pi*fc*t);
rt = rt - mean(rt);
[f,rf]=T2F(t,rt); 
[t,rt]= lpf(f,rf,2*fm);
subplot(324)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title("DSB 解调信号");
xlabel("t");%SSB modulation
s_ssb = real(hilbert(mt).*exp(j*2*pi*fc*t));
B = fm;
noise = noise_nb(fc,B,NO,t);
s_ssb = s_ssb + noise;
subplot(325)
plot(t,s_ssb);
title('SSB信号');
xlabel('t');%SSB demodulation
rt = s_ssb.*cos(2*pi*fc*t);
rt = rt - mean(rt);
[f,rf]= T2F(t,rt);
[t,rt]= lpf(f,rf,2*fm)
subplot(326)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title("SSB解调信号");
xlabel('t');function [out]=noise_nb(fc,B,NO,t)% output the narrow band gaussian noise sample with single - sided power% spectrum NO%at carrier frequency equals fc and bandwidth euqals Bdt = t(2)-t(1);Fmx = 1./dt;n_len = length( t);p = NO*Fmx;rn = sqrt(p)*randn(1,n_len);[f, rf]=T2F(t,rn);[t, out]=bpf(f,rf,fc - B/2,fc + B/2);
endfunction [t, y] = bpf(f, x, fl, fh)% 带通滤波器函数% 输入:% f: 频率向量% x: 输入信号的频谱% fl: 带通滤波器的下限频率% fh: 带通滤波器的上限频率% 输出:% t: 时间向量% y: 滤波后的时域信号% 获取频率向量的长度N = length(f);% 初始化带通滤波器的频率响应H = zeros(1, N);% 找到频率在 [fl, fh] 范围内的索引index = (f >= fl) & (f <= fh);% 设置带通滤波器的频率响应为 1H(index) = 1;% 频域滤波:将输入信号的频谱与滤波器的频率响应相乘Y = H .* x;% 将滤波后的频谱转换回时域[t, y] = F2T(f, Y);% 取实部,因为滤波后的信号可能存在极小的虚部,这是由于数值计算误差导致的y = real(y);
endfunction [t, st] = lpf(f, sf, B)% lpf 函数用于实现理想低通滤波操作% 输入参数:% f: 频率向量,代表输入信号的频率范围% sf: 输入信号的频谱% B: 低通滤波器的带宽% 输出参数:% t: 时间向量% st: 滤波后的时域信号% 计算频率分辨率df = f(2) - f(1);% 获取频率向量的长度N = length(f);% 初始化理想低通滤波器的频率响应为全零向量H = zeros(1, N);% 找到零频率对应的索引center_index = floor(N / 2) + 1;% 计算单边带宽对应的点数num_points = floor(B / df);% 确定通带的索引范围bf = (center_index - num_points) : (center_index + num_points);% 确保索引范围在有效范围内valid_indices = (bf >= 1) & (bf <= N);bf = bf(valid_indices);% 将通带对应的频率响应设置为 1H(bf) = 1;% 频域滤波:将输入信号的频谱与滤波器的频率响应相乘filtered_spectrum = H .* sf;% 将滤波后的频谱转换回时域[t, st] = F2T(f, filtered_spectrum);% 取实部,因为滤波后的信号可能存在极小的虚部,这是由于数值计算误差导致的st = real(st);
endfunction [f, Xf] = T2F(t, x)% 时域到频域转换函数N = length(t);dt = t(2) - t(1);f = (0:N-1)/(N*dt) - 1/(2*dt);Xf = fftshift(fft(x));
endfunction [t, x] = F2T(f, Xf)% 频域到时域转换函数N = length(f);df = f(2) - f(1);t = (0:N-1)/(N*df) - 1/(2*df);x = ifft(ifftshift(Xf));
end

运行结果(示意图):
在这里插入图片描述

  • 含噪声调制信号波形出现随机波动。
  • 解调信号中噪声影响程度与调制类型相关。

结语

本文通过理论推导与Matlab实例结合,系统阐述了幅度调制的核心原理与实现方法。读者可通过代码复现与参数调整,进一步探索不同调制技术的性能差异及适用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/71741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

aws(学习笔记第三十一课) aws cdk深入学习(batch-arm64-instance-type)

aws(学习笔记第三十一课) aws cdk深入学习 学习内容&#xff1a; 深入练习aws cdk下部署batch-arm64-instance-type 1. 深入练习aws cdk下部署batch-arm64-instance-type 代码链接 代码链接 代码链接 -> batch-arm64-instance-type之前代码学习 之前学习代码链接 -> aw…

读书报告」网络安全防御实战--蓝军武器库

一眨眼&#xff0c;20天过去了&#xff0c;刷完了这本书「网络安全防御实战--蓝军武器库」&#xff0c;回味无穷&#xff0c;整理概览如下&#xff0c;可共同交流读书心得。在阅读本书的过程中&#xff0c;我深刻感受到网络安全防御是一个综合性、复杂性极高的领域。蓝军需要掌…

DeepLabv3+改进6:在主干网络中添加SegNext_Attention|助力涨点

🔥【DeepLabv3+改进专栏!探索语义分割新高度】 🌟 你是否在为图像分割的精度与效率发愁? 📢 本专栏重磅推出: ✅ 独家改进策略:融合注意力机制、轻量化设计与多尺度优化 ✅ 即插即用模块:ASPP+升级、解码器 PS:订阅专栏提供完整代码 目录 论文简介 步骤一 步骤二…

使用 Elastic-Agent 或 Beats 将 Journald 中的 syslog 和 auth 日志导入 Elastic Stack

作者&#xff1a;来自 Elastic TiagoQueiroz 我们在 Elastic 一直努力将更多 Linux 发行版添加到我们的支持矩阵中&#xff0c;现在 Elastic-Agent 和 Beats 已正式支持 Debian 12&#xff01; 本文演示了我们正在开发的功能&#xff0c;以支持使用 Journald 存储系统和身份验…

3.9[A]csd

在传统CPU中心架构中&#xff0c;中央处理器通过内存访问外部存储器&#xff0c;而数据必须经过网络接口卡才能到达外部存储器。这种架构存在集中式计算、DRAM带宽和容量挑战、大量数据移动&#xff08;服务器内和网络&#xff09;以及固定计算导致工作负载容量增长等问题。 而…

ESP32S3读取数字麦克风INMP441的音频数据

ESP32S3 与 INMP441 麦克风模块的集成通常涉及使用 I2S 接口进行数字音频数据的传输。INMP441 是一款高性能的数字麦克风&#xff0c;它通过 I2S 接口输出音频数据。在 Arduino 环境中&#xff0c;ESP32S3 的开发通常使用 ESP-IDF&#xff08;Espressif IoT Development Framew…

DeepSeek大模型 —— 全维度技术解析

DeepSeek大模型 —— 全维度技术解析 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 DeepSeek大模型 —— 全维度技术解析一、模型架构全景解析1…

[Kubernetes] 7控制平面组件

1. 调度 kube- scheduler what 负责分配调度pod到集群节点监听kube-apiserver,查询未分配node的pod根据调度策略分配这些pod&#xff08;更新pod的nodename&#xff09;需要考虑的因素&#xff1a; 公平调度&#xff0c;资源有效利用&#xff0c;QoS&#xff0c;affinity, an…

PyTorch系列教程:编写高效模型训练流程

当使用PyTorch开发机器学习模型时&#xff0c;建立一个有效的训练循环是至关重要的。这个过程包括组织和执行对数据、参数和计算资源的操作序列。让我们深入了解关键组件&#xff0c;并演示如何构建一个精细的训练循环流程&#xff0c;有效地处理数据处理&#xff0c;向前和向后…

LeetCode Hot100刷题——反转链表(迭代+递归)

206.反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&#…

Springboot redis bitMap实现用户签到以及统计,保姆级教程

项目架构&#xff0c;这是作为demo展示使用&#xff1a; Redis config&#xff1a; package com.zy.config;import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.Ob…

《云原生监控体系构建实录:从Prometheus到Grafana的观测革命》

PrometheusGrafana部署配置 Prometheus安装 下载Prometheus服务端 Download | PrometheusAn open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.https://prometheus.io/…

SpringMvc与Struts2

一、Spring MVC 1.1 概述 Spring MVC 是 Spring 框架的一部分&#xff0c;是一个基于 MVC 设计模式的轻量级 Web 框架。它提供了灵活的配置和强大的扩展能力&#xff0c;适合构建复杂的 Web 应用程序。 1.2 特点 轻量级&#xff1a;与 Spring 框架无缝集成&#xff0c;依赖…

数据类设计_图片类设计之1_矩阵类设计(前端架构基础)

前言 学的东西多了,要想办法用出来.C和C是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容 引入 图形在底层是怎么表示的,用C来表示 认识图片 图片是个风景,动物,还是其他内容,人是可以看出来的.那么计算机是怎么看懂的呢?在有自主意识的人工智能被设计出来…

开发者社区测试报告(功能测试+性能测试)

功能测试 测试相关用例 开发者社区功能背景 在当今数字化时代&#xff0c;编程已经成为一项核心技能&#xff0c;越来越多的人开始学习编程&#xff0c;以适应快速变化的科技 环境。基于这一需求&#xff0c;我设计开发了一个类似博客的论坛系统&#xff0c;专注于方便程序员…

EasyRTC嵌入式音视频通话SDK:基于ICE与STUN/TURN的实时音视频通信解决方案

在当今数字化时代&#xff0c;实时音视频通信技术已成为人们生活和工作中不可或缺的一部分。无论是家庭中的远程看护、办公场景中的远程协作&#xff0c;还是工业领域的远程巡检和智能设备的互联互通&#xff0c;高效、稳定的通信技术都是实现这些功能的核心。 EasyRTC嵌入式音…

【OneAPI】网页截图API-V2

API简介 生成指定URL的网页截图或缩略图。 旧版本请参考&#xff1a;网页截图 V2版本新增全屏截图、带壳截图等功能&#xff0c;并修复了一些已知问题。 全屏截图&#xff1a; 支持全屏截图&#xff0c;通过设置fullscreentrue来支持全屏截图。全屏模式下&#xff0c;系统…

记录小白使用 Cursor 开发第一个微信小程序(一):注册账号及下载工具(250308)

文章目录 记录小白使用 Cursor 开发第一个微信小程序&#xff08;一&#xff09;&#xff1a;注册账号及下载工具&#xff08;250308&#xff09;一、微信小程序注册摘要1.1 注册流程要点 二、小程序发布流程三、下载工具 记录小白使用 Cursor 开发第一个微信小程序&#xff08…

六轴传感器ICM-20608

ICM-20608-G是一个6轴传感器芯片&#xff0c;由3轴陀螺仪和3轴加速度计组成。陀螺仪可编程的满量程有&#xff1a;250&#xff0c;500&#xff0c;1000和2000度/秒。加速度计可编程的满量程有&#xff1a;2g&#xff0c;4g&#xff0c;8g和16g。学习Linux之SPI之前&#xff0c;…

clickhouse删除一条数据

在当今数据驱动的世界中&#xff0c;ClickHouse作为一种高性能的列式数据库管理系统&#xff0c;广泛应用于需要快速分析大量数据的场景。也许对于初学者来说&#xff0c;掌握如何有效地管理数据&#xff0c;包括添加、更新和删除数据&#xff0c;是使用ClickHouse进行数据分析…