热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

扩频调制解调技术

文章目录1.扩频通信的基本原理1.1扩频通信的概念1.2扩频通信的种类1.3直扩系统工作原理2.直扩调制信号的MATLAB仿真2.1伪码序列产生原理2.2MATLAB仿真直扩调制信

文章目录

  • 1. 扩频通信的基本原理
    • 1.1 扩频通信的概念
    • 1.2 扩频通信的种类
    • 1.3 直扩系统工作原理
  • 2. 直扩调制信号的MATLAB仿真
    • 2.1 伪码序列产生原理
    • 2.2 MATLAB仿真直扩调制信号

扩频通信系统时指待传输的频谱用某个特定的扩频函数扩展后成为宽频带星号,送入信道中传输,再利用相应手段将其压缩,从而获取传输信息的通信系统。

1. 扩频通信的基本原理

1.1 扩频通信的概念

扩频通信是一种利用比原始信号(信源产生的信号)本身频带宽得多的射频信号的通信方式,其全称是扩展频谱通信(Spread Spectrum Communication)。在扩频通信系统中,发信端用一种特定的调制方法将原始信号的带宽加以扩展,得到扩频信号。收信端再对接收到的扩频信号加以处理,把它恢复为原来带宽的信号。

频带的扩展是通过一个独立的码序列(一般是伪随机码)来完成的,用编码及调制的方法来实现的,与所传信息数据无关。在接收端则用同样的码序列进行相关同步接收。解扩及恢复所传信息数据。扩展频谱通信与光纤通信。卫星通信一同被誉为进入信息时代的三大高技术通信传输方式。

1、信号的频谱被展宽了
传输信息都需要一定的带宽,称为信息带宽。例如,人类语言的信息带宽为300~3400Hz,电视图像信息带宽为及MHz。为了充分利用频率资源,通常都是尽量用大体相当的信号来传输信息。在无线电通信中射频信号的带宽与所传信息的带宽是可相比拟的。例如,用调幅信号来传输语音信息,其带宽为语音信息带宽的两倍;电视广播射频信号带宽为其视频信号带宽的一倍多。通常把这些通信带宽与信息带宽可相比拟的通信称为窄带通信。

一般的调频信号,或脉冲编码调制信号,他们的带宽与信息之比也只有几到十几。扩展频谱通信信号带宽与信息带宽之比则高达100~1000,属于宽带通信。与窄带通信不同,扩频通信中同一频带之内可以同时建立多个信道进行通信,个信道之间通过扩频码进行区别,这就是码分多址通信技术。

2、采用扩频码序列调制的方式来展宽信号频谱
在时间上有限的信号,其频谱是无线的。例如,很窄的脉冲信号,其频谱很宽。信号的频带宽度与其持续时间近似成反比,如1us的脉冲,带宽约为1MHz,因此,如果很窄的脉冲序列被所传信息调制,则可产生很宽频带的信号。直接序列扩频系统就是采用这种方法获得扩频信号的。这种很窄的脉冲码序列,其码速率是很高的,称为扩频码序列。扩频码序列与所传信息数据是无关的,也就是说,它与一般的正弦载波信号一样,丝毫不影响信息传输的透明性,扩频码序列仅仅起扩展信号频谱的作用。

3、在接收端用相关解调来解扩
已调信号在接收端都要进行解调来恢复所传的信息,在扩频通信中接收端则用与发送端相同的扩频码序列与接收到的扩频信号进行相关解调,恢复所传的信息。换句话说,这种相关解调起到解扩的作用,即把扩展以后的信号又恢复成原来所传的信息。这种在发端把窄带信息扩展为宽带信号,而在收端又将其解扩成窄带信息的处理过程,会带来一系列好处。例如,对于通信带内的窄带干扰来讲,在发射端,高速率的伪码序列对原始信号进行了调制,从而使信号频谱带宽增加,将信号的能量分散到整个频谱带宽内;在接收端,同步后的伪码序列对其进行解扩时,由于伪码的自相关特性,对有用的原始信号能量重新集中,而伪码与窄带干扰信号不相关,因此解扩的过程相当于对窄带干扰的一次扩频调制,分散了干扰信号的能量,经滤波处理后,有用信号带宽内的信噪比显著提高。

1.2 扩频通信的种类

1、直接序列扩展频谱系统
直接序列扩展频谱系统(Direct Sequence Spread Spectrum Communication System,DS-SS),通常简称为直接序列系统或直扩系统,用待传输的信息信号与高速率的伪随机码波形相乘后,去直接控制射频信号的某个参量,来扩展传输信号的带宽。用于频谱扩展的伪随机序列称为扩频码序列。

在直接序列扩频通信系统中,通常对载波进行相移键控(Phase Shift Keying,PSK)调制。为了节约发射功率和提高发射机的工作效率,扩频通信系统常采用平衡调制器。抑制载波的平衡调制对提高扩频信号的抗侦破能力也很有利。

在发信端,待传输的数据信号与伪随机码(扩频码)波形相乘(或与伪随机码序列模2相加),形成的复合码对载波进行调制,然后由天线发射出去。在收信端,要产生一个和发信机中的伪随机码同步的本地参考伪随机码,对接收信号进行相关处理,这一相关处理过程通常称为解扩。解扩后的信号送到解调器解调,恢复出传送的信息。

2、跳频扩频通信系统
跳频扩频通信系统是频率跳变扩展频谱通信系统(Frequency Hopping Spread Spectrum Communicaiton System,FH-SS)的简称,或更直接地称为调频通信系统,确切地说,应叫做“多频、选码和频移键控通信系统”,它用二进制伪随机码序列去离散地控制射频载波振荡器的输出频率,使发射信号的频率随伪随机码的变化而跳变。调频系统可供随机选取的频率数通常是几千个以上的离散频率,在如此多的离散频率中,每次输出哪一个是由伪随机码决定的。

频率跳变扩频通信系统与常规通信系统相比较,最大的差别在于发射机的载波发生器和接收机中的本地振荡器。在常规通信系统中这二者输出信号的频率是固定不变的,然而在跳频通信系统中这二者输出信号的频率是跳变的。在跳频通信系统中发射机的载波发生器接收机中的本地振荡器主要由伪随机码发生器和频率合成器两部分组成。快速响应的频率合成器是跳频通信系统的关键部件。

跳频通信系统发信机的发射频率,在一个预定的频率集内由伪随机码序列控制频率合成器伪随机地由一个跳变到另一个。收信机中的频率合成器也按照相同的顺序跳变,产生一个和接收信号频率只差一个中频频率的参考本振信号,经混频后得到一个频率固定的中频信号,这一过程称为对调频信号的解跳。解跳后的中频信号经放大后送到解调器解调,恢复出传输的信息。

在跳频通信系统中,控制频率跳变的指令码(伪随机码)的速率,没有直接扩频通信系统中的伪随机码速率高,一般为几十bps~几kbps。由于调频系统中输出频率的改变速率就是扩频伪随机码的速率,所以扩频伪随机码的速率也称为跳频速率。根据跳频速率的不同,可以将跳频系统分为频率慢跳变系统和频率快跳变系统两种。

3、跳时扩频通信系统
时间跳变也是一种扩展频谱技术,跳时扩频通信系统(Time Hopping Spread Spectrum Communication System,TH-SS)是时间跳变扩展频谱通信系统的简称,主要用于时分多址(TDMA)通信中。与跳频系统相似,跳时是使发射信号在时间轴上离散地跳变。我们先把时间轴分成许多时隙,这些时隙在跳时扩频通信中通常称为时片,若干时片组成跳时时间帧。在一帧伪随机序列进行选择的多时隙的时移键控。由于采用了宅很多的时隙去发送信号,相对来说,信号的频谱就展宽了。

在发送端输入的数据线存储起来,由扩频码发生器产生的扩频序列去控制通-断开关,经二相或四相调制后再经射频调制后发射。在接收端,当接收机的伪码发生器与发端同步时,所需信号就能每次按时通过开关进入解调器。解调后的数据也经过一缓冲存储器,以便恢复原来的传输速率,不间断地传输数据,提供给用户均匀的数据流。只要收发两端在时间上严格同步进行,就能正确地恢复原始数据。

跳时扩频系统也可以看成一种时分系统,所不同的地方在于它不是在一帧中固定分配一定位置的时隙,而是由扩频码序列控制的按一定规律跳变位置的时隙。跳时系统能用时间的合理分配来避开附近发射机的强干扰,是一种理想的多址技术。但当同一信道中有许多跳时信号工作时,某一时隙内可能有几个信号相互重叠,因此,跳时系统也和调频系统一样,必须采用纠错编码,或采用协调方式构成时分多址。由于简单的跳时扩频系统抗干扰性不强,很少单独使用。跳时扩频系统通常与其他方式的扩频系统结合使用,组成各种混合方式。

从抑制干扰的角度来看,跳时系统得益甚少,其优点在于减少了工作时间的占空比。一个干扰发射机为取得干扰效果就必须连续地发射,因为干扰机不易侦破跳时系统所使用的伪码参数。跳时系统的主要缺点是对定时要求太严。

4、线性脉冲调频系统
线性脉冲调频系统(Chirp)是指系统载频在一给定的脉冲时间间隔内线性地扫过一个宽带范围,形成一带宽较宽的扫频信号,或者说载频在一给定的时间间隔内线性增大或减小,使得发射信号的频谱占据一个宽的范围。在语音频段,线性调频听起来类似于鸟的“啾啾”叫声,所以线性脉冲调频也称为鸟声调制。

线性脉冲调频是一种不需要用伪随机码序列调制的扩频调制技术,由于线性脉冲调频信号占用的频带宽度远远大于信息带宽,从而也可获得较好的抗干扰性能。

线性脉冲调频是作为雷达测距的一种工作方式使用的,线性脉冲调频信号的产生,可由一个锯齿波信号调制压控振荡器(VCO)来实现。发射波是一个具有一定频偏的宽带调频波,通常是线性调频。线性调频信号的特点是,发射脉冲信号的瞬时频率在信息脉冲持续周期内随时间进行线性变化,在脉冲起始和终止时刻存在一定的频差。线性脉冲调频信号的接收解调可用匹配滤波器来实现。

5、混合扩展频谱通信系统
以上几种基本的扩展频谱通信系统各有优缺点,单独使用其中一种系统有时难以满足要求,将以上几种扩频方法结合起来就构成了混合扩频通信系统。常见的有频率跳变-直接序列混合系统(FH/DS)、直接序列-时间跳变混合系统(DS/TH)、频率跳变-时间跳变混合系统(HF/TH)等。它们比单一的直接序列、跳频、跳时体制有更优良的性能。

1.3 直扩系统工作原理

直扩序列扩频系统的组成框图如下图所示,由信源输出的信号 a ( t ) a(t) a(t)是码元持续时间为 T a T_{a} Ta的信息流,伪随机码(PN)产生器产生的伪随机码 c ( t ) c(t) c(t),每一伪随机码元宽度或切谱(Chip)宽度为 T c T_{c} Tc。将信码 a ( t ) a(t) a(t)与伪随机码 c ( t ) c(t) c(t)进行模2加,产生一速率与伪随机码速率相同的扩频序列,然后用扩频序列去调制载波,这样就得到扩频调制的射频信号。由于伪随机码的速率远大于信码速率,故扩频后的数据速率为伪随机码速率。这样扩频序列调制后的信号带宽由伪随机码速率及调制方式决定,对于常用的BPSK调制方式来说,其视频宽度为伪随机码速率的2倍。
《扩频调制解调技术》
在接收端,收到的扩频信号经高放和混频后,用与发端同步的伪随机序列对中频的扩频调制信号进行相关解扩,将信号的频带恢复为信号序列 a ( t ) a(t) a(t)的频带,即中频调制信号,然后进行解调,恢复出所传输的信息 a ( t ) a(t) a(t),从而完成信息的传输。相关处理是将两个信号相乘,然后求其数学期望(均值),或求两个信号瞬时值相乘的积分。当两个信号完全相同时(或相关性很好时),得到最大的相关峰值。对于干扰信号和噪声而言,由于与伪随机序列不相关,在相关解扩器的作用下,相当于进行了一次扩频。干扰信号和噪声频谱被扩展后,其谱密度降低,这就大大降低了进入信号通带内的干扰功率,使解调器的输入信噪比提高,从而提高系统的抗干扰能力。扩频接收机解扩前后的频谱如下图所示。
《扩频调制解调技术》
通常在衡量扩频系统抗干扰能力优劣时,我们引入处理增益 G p G_{p} Gp的概念来描述,其定义为接收机解扩器输出信噪功率比与接收机的输入信噪功率之比,即
G p = 输 出 信 噪 功 率 比 / 输 入 信 噪 功 率 比 G_{p}=输出信噪功率比/输入信噪功率比 Gp=/
它表示经扩频接收系统处理后,使信号增强的同事一直输入接收机的干扰信号能力的大小。 G p G_{p} Gp越大,则抗干扰性能力越强。对于以BPSK调制方式的直扩系统来说,处理增益为
G p = 射 频 带 宽 / 数 据 带 宽 = 位 码 速 率 / 数 据 速 率 G_{p}=射频带宽/数据带宽=位码速率/数据速率 Gp=/=/

2. 直扩调制信号的MATLAB仿真

2.1 伪码序列产生原理

直扩信号的调制原理与BPSK十分相似,仅仅是在进行载波调制之前,对原始数据进行了伪随机扩频而已。而原始数据与伪随机的扩频处理,实际上也只是简单的模2加(相当于异或)而已,因此,对于直扩信号调制技术来讲,关键的问题是产生符合要求的伪随机码。

伪随机序列需要有以下3种性质。
(1)平衡性:在每个码序列中,1码元的数目最多比0码元数目少一个,也就是说,0和1的个数接近相等。
(2)游程特性:在每个码元序列内,长度为1的游程约占游程总数的1/2,长度为2的游程总数约占游程总数的1/4,长度为3的游程总数约占游程总数的1/8,以此类推,在同长度的游程中,0游程和1游程数大致相等。
(3)相关性:若将某个码序列与它的任何循环移位码字在一个周期内逐位相比,则在它们对应的码元中,相同的数目与不同的数目之差最多为1.

m序列是一种线性序列,可根据特征多项式来产生,且其特征多项式必须是本原多项式。然而,并非所有的可不约多项式都是本原多项式,或者说,并非所有的不可约多项式都能产生m序列,而仅其中的一部分能产生m序列。在确定本原多项式后,产生m序列的方法十分简单,只需根据本原多项式构造一个线性移位寄存器即可。例如,已知本原多项式 f ( x ) = x 5 + x 2 + 1 f(x)=x^{5}+x^{2}+1 f(x)=x5+x2+1,显然这是一个5级多项式,产生的m序列周期为31,其线性移位寄存器结构如下图所示。
《扩频调制解调技术》
根据上图产生m序列时,每个延时寄存器中的初始值不同,则产生的m序列的相位不同,但m序列的周期及码序列是唯一的。对于5级m序列而言,上图警示针对某个特定的本原多项式产生的m序列。在MATLAB仿真以及后续Verilog HDL设计实现时,可以通过设置寄存器的初始值,以及抽头位置参数,实现产生不同相位及不同本原多项式所对应的m序列功能。

2.2 MATLAB仿真直扩调制信号

条件:

  • 原始数据速率 R b = 200 k b p s R_{b}=200kbps Rb=200kbps
  • 伪码序列长度为 L P N = 31 L_{PN}=31 LPN=31
  • 伪码速率 R c = L P N R b = 6.2 M C h i p / s R_{c}=L_{PN}R_{b}=6.2MChip/s Rc=LPNRb=6.2MChip/s
  • 采样频率 f s = 8 R c = 49.6 M H z f_{s}=8R_{c}=49.6MHz fs=8Rc=49.6MHz
  • 载波信号频率 f c = 8 M H z f_{c}=8MHz fc=8MHz
  • 成形滤波器(升余弦)的滚将因子 α = 0.8 \alpha =0.8 α=0.8

代码:
伪随机码产生函数:

function p=PnCode_Gen(polynomial,reg)
% PN码产生器函数
% polynomial的长度=reg的长度+,polynomial的值不能为全0
% polynomial为本原多项式,从左到右依次为高位到低位,且最高位与最低位必须为1;低位表示延时一个周期,高位依次顺延
% reg为置寄存器初始值,也相当于PN码的初始相位,左边为高位,如[10010]表示延时5个周期的寄器和2个周期的寄存器初值为1
% 如产生531位的PN码,则多项式形式为[1 * * * * 1]
% 例:从西安电子科技大学.查光明.著的《扩频通信]》中查出5级PN码45E,参数为[1 0 0 1 0 1],左边为高位
% PN:0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0
grade=length(polynomial)-1;%根据多项式计算延时级数
PN_Length=(2^grade-1); %计算PN码一个周期的长度
pn=zeros(1,PN_Length); %设置PN码寄存器初值
%找出本原多项式中除最低位外为1的位,并依次存放在寄存器c中
%例如对于ploynomial=[1 0 0 1 0 1],则c(1)=2,c(2)=5
n=0;
c=zeros(1,grade);
for i=grade:-1:1
if polynomial(i)==1
n=n+1;
c(n)=grade+1-i;
end
end
%产生一个周期的PN码
q=0;
for i=1:PN_Length
%从最高延时的寄存器中输出PN码
p(i)=reg(1);
%定位第一个抽头寄存器位置,并取值
m=reg(grade+1-c(1));
%完成各抽头寄存器取值的模2
for q=2:grade
if (c(q)>0) & (reg(grade+1-c(q))==1)
m=~m;
end
end
%寄存器的值依次移位
for q=1:(grade-1)
reg(q)=reg(q+1);
end
reg(5)=m;
end

DSSS调制信号主程序:

Rb=200*10^3; %码速率为200KHz
Lpn=31; %伪码序列长度
Rc=Rb*Lpn; %伪码速率
Fs=8*Rc; %采样速率为49.6MHz
fc=8*10^6; %载波频率为8MHz
a=0.8; %成形滤波器系数为0.5
N=5000; %原始数据长度
L=N*Lpn*Fs/Rc; %仿真数据长度
t=0:(L-1); %产生长度为L,频率为Fs的时间序列
t=t/Fs;
polynomial=[1 0 0 1 0 1]; %产生PN码的本原多项式
reg=[1 0 0 0 0]; %设置PN码的初始相位
PN=PnCode_Gen(polynomial,reg) %调用函数产生PN码
%PN=zeros(1,length(PN));
bitstream=randint(1,N,2); %产生N点原始二进制数据
source=rectpulse(bitstream,Lpn);%对N点原始数据进行Lpn倍重采样
%用伪随机码对原始数据扩频调制
data=zeros(1,N*Lpn);
for i=1:N
if bitstream(i)==0
data((i-1)*Lpn+1:i*Lpn)=PN;
else
data((i-1)*Lpn+1:i*Lpn)=~PN;
end
end
%将扩频数据转换成双极性码,以便进行平衡调制
for i=1:N*Lpn
if data(i)==0
data(i)=-1;
end
end
%对扩频后的数据以Fs频率采样
Ads=upsample(data,Fs/Rc);
%设计升余弦滤波器
n_T=[-2 2];
rate=Fs/Rc;
T=1;
Shape_b = rcosfir(a,n_T,rate,T);%figure(4);freqz(Shape_b)
%对采样后的数据进行升余弦滤波;
rcos_Ads=filter(Shape_b,1,Ads);
%产生载频信号
f0=sin(2*pi*fc*t);
%产生DSS已调信号
dss=rcos_Ads.*f0;
figure(1)
%绘制成形滤波后信号频谱、DSS信号频谱、DSS信号时域波形
m_rcos_Ads=20*log10(abs(fft(rcos_Ads,1024)));m_rcos_Ads=m_rcos_Ads-max(m_rcos_Ads);
m_dss=20*log10(abs(fft(dss,1024)));m_dss=m_dss-max(m_dss);
%设置幅频响应的横坐标单位为MHz
x_f=[0:(Fs/length(m_dss)):Fs/2];x_f=x_f/10^6;
%只显示正频率部分的幅频响应
mrcos_Ads=m_rcos_Ads(1:length(x_f));
mdss=m_dss(1:length(x_f));
%设置时域波表的横坐标单位为us
Len=300;%设置时域波形显示的点数
x_t=1:Len;%产生长度为Len的时间序列
x_t=x_t/Fs*10^6;
%显示所需的频谱及时域波形
subplot(311); plot(x_f,mrcos_Ads);
legend('成形滤波后信号频谱');
xlabel('频率(MHz)');ylabel('幅度(dB)');grid on;
subplot(312); plot(x_f,mdss);
legend('dss已调信号频谱');
xlabel('频率(MHz)');ylabel('幅度(dB)');grid on;
subplot(313); plot(x_t,dss(101:Len+100));grid on;
legend('dss时域信号波形');
xlabel('时间(us)');ylabel('幅度(V)');grid on;
figure(2)
%对原始数据source、PN码、扩频数据data转换成相同采样频率信号
Ads_source=rectpulse(source,Fs/Rc);
Ads_PN=rectpulse(PN,Fs/Rc);
Ads_data=rectpulse(data,Fs/Rc);
%绘制4个PN码周期
% subplot(311);plot(Ads_source(1:4*Lpn*Fs/Rc));axis([1 4*Lpn*Fs/Rc -0.5 1.5]);
% subplot(312);plot([Ads_PN Ads_PN Ads_PN Ads_PN]);axis([1 4*Lpn*Fs/Rc -0.5 1.5]);
% subplot(313);plot(Ads_data(1:4*Lpn*Fs/Rc));axis([1 4*Lpn*Fs/Rc -1.5 1.5]);
%为便于观察比较,将三种波形绘制在一张图表上
L=6*Lpn*Fs/Rc;
x=1:L;x=x/Fs*1000000;
Ads_PN4=[Ads_PN Ads_PN Ads_PN Ads_PN Ads_PN Ads_PN];
plot(x,Ads_source(1:L)+1.2,'-',x,Ads_PN4,'-',x,Ads_data(1:L)-1.2,'-');axis([1 L/Fs*1000000 -2.5 2.5]);
% legend('s','pn','s_pn');
xlabel('时间(us)');ylabel('幅度(V)');grid on;

原始数据与伪随机码扩频调制的时序波形如下图所示,从图中可以看出,原始数据的码率远低于伪随机码的速率,扩频后的数据速率与伪随机码的速率完全相同,扩频的过程仅是简单的模2加(异或)处理而已。
《扩频调制解调技术》
直扩调制信号时域波形及调制信号频谱如下图所示,从图中可以看出,直扩调制信号的时域波形和频谱与PSK信号没有什么区别,这是因为DSSS信号本身就是采用的PSK调制信号形式。
《扩频调制解调技术》


推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • MPLS VP恩 后门链路shamlink实验及配置步骤
    本文介绍了MPLS VP恩 后门链路shamlink的实验步骤及配置过程,包括拓扑、CE1、PE1、P1、P2、PE2和CE2的配置。详细讲解了shamlink实验的目的和操作步骤,帮助读者理解和实践该技术。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
author-avatar
谁的淡笑丶_227
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有